<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shreyas Vithalkar</title>
    <description>The latest articles on DEV Community by Shreyas Vithalkar (@shreyasvithalkar).</description>
    <link>https://dev.to/shreyasvithalkar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2507127%2F6439ca4b-359a-4fbb-af13-5fe92b6a74a3.jpeg</url>
      <title>DEV Community: Shreyas Vithalkar</title>
      <link>https://dev.to/shreyasvithalkar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shreyasvithalkar"/>
    <language>en</language>
    <item>
      <title>🚀 Day 3 of My 90-Day DevOps Journey: Vim Editor and Linux File Types</title>
      <dc:creator>Shreyas Vithalkar</dc:creator>
      <pubDate>Tue, 03 Dec 2024 15:55:00 +0000</pubDate>
      <link>https://dev.to/shreyasvithalkar/day-3-of-my-90-day-devops-journey-vim-editor-and-linux-file-types-2i7n</link>
      <guid>https://dev.to/shreyasvithalkar/day-3-of-my-90-day-devops-journey-vim-editor-and-linux-file-types-2i7n</guid>
      <description>&lt;p&gt;Welcome back to Day 3 of my DevOps journey! Today, I explored the &lt;strong&gt;Vim editor&lt;/strong&gt; and learned about the &lt;strong&gt;types of files in Linux&lt;/strong&gt;. Let’s dive in!&lt;/p&gt;




&lt;h3 id="🖋️-vim-editor-basics"&gt;🖋️ Vim Editor Basics&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Vim&lt;/strong&gt; is a highly efficient text editor that’s perfect for editing files in Linux. It operates in two primary modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Command Mode&lt;/strong&gt;: For executing commands.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Insert Mode&lt;/strong&gt;: For writing and editing text.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrpuvpibmvdvboswb8h7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhrpuvpibmvdvboswb8h7.gif" alt="Image description" width="256" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4 id="🛠️-essential-vim-commands"&gt;🛠️ Essential Vim Commands&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Switching Modes&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Press &lt;code&gt;i&lt;/code&gt; → Enter Insert mode.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Press &lt;code&gt;Esc&lt;/code&gt; → Return to Command mode.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;/li&gt;


&lt;li&gt;

&lt;p&gt;&lt;strong&gt;File Operations&lt;/strong&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;:w     # Save the file  
:q     # Quit Vim  
:wq    # Save and quit  
:q!    # Quit without saving
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Text Navigation&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;h&lt;/code&gt; → Move left&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;l&lt;/code&gt; → Move right&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;j&lt;/code&gt; → Move down&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;k&lt;/code&gt; → Move up&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;/li&gt;


&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Editing&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;x&lt;/code&gt; → Delete a character&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;dd&lt;/code&gt; → Delete a line&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;yy&lt;/code&gt; → Copy a line&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;p&lt;/code&gt; → Paste copied content&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;/li&gt;


&lt;li&gt;

&lt;p&gt;&lt;strong&gt;Search and Replace&lt;/strong&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/pattern      # Search for 'pattern'  
:%s/old/new/g # Replace 'old' with 'new' globally 
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;


&lt;/ul&gt;


&lt;/li&gt;


&lt;/ul&gt;

&lt;h3 id="📂-types-of-files-in-linux"&gt;📂 Types of Files in Linux&lt;/h3&gt;

&lt;p&gt;Linux files come in various types, each serving a unique purpose. Here’s what I learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Regular File&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Stores data like text, scripts, or binaries.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Command to check:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;pre&gt;&lt;code&gt;ls -l file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;Look for a `-` at the start of the permissions (`-rw-r--r--`).&lt;/pre&gt;

&lt;ol start="2"&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Directory&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Contains other files or directories.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Identified with a &lt;code&gt;d&lt;/code&gt; in permissions (&lt;code&gt;drwxr-xr-x&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Link File&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A shortcut to another file. (This you can consider as a Desktop short for any file/application in Windows) Can be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Hard Link&lt;/strong&gt;: Points directly to the file's data.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ln file.txt hardlink.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Soft Link&lt;/strong&gt;: Points to the file's location.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ln -s file.txt softlink.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;code&gt;unlink filename&lt;/code&gt; to unlink a file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Special File&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Represents devices like printers or disks, typically found in &lt;code&gt;/dev&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Socket&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enables communication between processes, often used in networking.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Block File&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Represents devices that transfer data in blocks (e.g., hard drives).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id="🔍-command-to-identify-file-types"&gt;🔍 Command to Identify File Types:&lt;/h4&gt;

&lt;p&gt;Use the &lt;code&gt;file&lt;/code&gt; command to determine a file’s type:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;file filename
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id="also-a-bonus-thing-some-options-on-our-ls-command"&gt;Also a bonus thing, some options on our ls command&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;ls -l
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The above command with &lt;code&gt;-l&lt;/code&gt; option is long listing of files (Sorts Alphabetically)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ls -lt
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Sort by Timestamp, (Latest first/ Last modified)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ls -ltr
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The &lt;code&gt;-r&lt;/code&gt; option is for reverse sorting. And in the above example, it will sort old modified files first.&lt;/p&gt;




&lt;h3 id="✨-key-takeaway"&gt;✨ Key Takeaway&lt;/h3&gt;

&lt;p&gt;Today, I took a big step in strengthening my Linux foundation. Mastering the Vim editor and understanding file types are crucial skills for any DevOps engineer. 🚀&lt;/p&gt;

&lt;p&gt;Stay tuned for more as I continue my journey to DevOps mastery!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>90daysdevopschallenge</category>
      <category>linux</category>
    </item>
    <item>
      <title>🚀 Day 2 of My 90-Day DevOps Challenge: Exploring Linux Basics</title>
      <dc:creator>Shreyas Vithalkar</dc:creator>
      <pubDate>Mon, 02 Dec 2024 19:11:41 +0000</pubDate>
      <link>https://dev.to/shreyasvithalkar/day-2-of-my-90-day-devops-challenge-exploring-linux-basics-jg0</link>
      <guid>https://dev.to/shreyasvithalkar/day-2-of-my-90-day-devops-challenge-exploring-linux-basics-jg0</guid>
      <description>&lt;p&gt;Today, I started my journey into Linux, an essential skill for any DevOps engineer. From exploring the Linux file system to mastering basic commands and the Vim editor, here’s what I learned. 🐧&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F95rxaf8f4jnb78cdt2ke.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F95rxaf8f4jnb78cdt2ke.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  📂 Key Linux Directories
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;/usr/home&lt;/code&gt;&lt;/strong&gt;: Holds user-specific files, configurations, and personal data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;/bin&lt;/code&gt;&lt;/strong&gt;: Contains essential system commands like ls, cp, and mv.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;/etc&lt;/code&gt;&lt;/strong&gt;: Stores configuration files for the system and applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;/tmp&lt;/code&gt;&lt;/strong&gt;: Temporary files created by processes or applications, usually cleared on reboot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;/var&lt;/code&gt;&lt;/strong&gt;: Contains variable data like logs, caches, and queues. Logs are often helpful for debugging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;/lib&lt;/code&gt;&lt;/strong&gt;: Shared libraries and modules used by executables in /bin and /sbin.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🛠️ Basic Linux Commands
&lt;/h2&gt;

&lt;h4&gt;
  
  
  File and Directory Operations
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Create a file&lt;/strong&gt;: Used to create an empty file or update the timestamp of an existing file.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Creates an empty file named &lt;code&gt;file.txt&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Copy a file&lt;/strong&gt;: The cp command is used to copy files and directories.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp source.txt destination.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copies &lt;code&gt;source.txt&lt;/code&gt; to &lt;code&gt;destination.txt&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cp -r source_directory/ destination_directory/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copies the entire contents of &lt;code&gt;source_directory&lt;/code&gt; into &lt;code&gt;destination_directory&lt;/code&gt;. The &lt;code&gt;-r&lt;/code&gt; option ensures all files and subdirectories are copied.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Move or rename a file&lt;/strong&gt;: The mv command is used to move or rename files.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mv file.txt /path/to/destination/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Moves &lt;code&gt;file.txt&lt;/code&gt; to the specified destination directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mv oldname.txt newname.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Renames &lt;code&gt;oldname.txt&lt;/code&gt; to &lt;code&gt;newname.txt&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Display file contents&lt;/strong&gt;: The cat command is used to display the contents of a file.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Displays the contents of &lt;code&gt;file.txt&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;List files in a directory&lt;/strong&gt;: The ls command lists the contents of a directory.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lists all files and directories in the current directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls -l
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Displays detailed information like permissions, ownership, and file size.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls -a
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lists all files, including hidden ones (those starting with .).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Make/Create Directories&lt;/strong&gt;: Used to create directories.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir new_directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Creates a single directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir -p parent_directory/child_directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The -p option creates parent directories if they don’t exist.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Remove Files or Directories&lt;/strong&gt;: The rm command is used to delete files or directories.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Removes a file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm -r directory_name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;-r&lt;/code&gt; option ensures recursive deletion of all contents in the directory.&lt;/p&gt;

&lt;p&gt;By understanding these commands with their options (&lt;code&gt;-r&lt;/code&gt;, &lt;code&gt;-a&lt;/code&gt;, etc.), you can efficiently manage files and directories in Linux systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Key Takeaway
&lt;/h2&gt;

&lt;p&gt;Today’s learning covered the foundational Linux commands to create, copy, move, and view files, as well as navigate directories. Mastering these commands is a critical first step toward becoming proficient in Linux, a core skill for any DevOps professional! 🚀&lt;/p&gt;

&lt;p&gt;Stay tuned for more amazing content 😀.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>linux</category>
      <category>90daysdevopschallenge</category>
    </item>
    <item>
      <title>🚀 Day 1 of My 90-Day DevOps Journey: Understanding DevOps</title>
      <dc:creator>Shreyas Vithalkar</dc:creator>
      <pubDate>Sun, 01 Dec 2024 16:23:14 +0000</pubDate>
      <link>https://dev.to/shreyasvithalkar/day-1-of-my-90-day-devops-journey-understanding-devops-4le</link>
      <guid>https://dev.to/shreyasvithalkar/day-1-of-my-90-day-devops-journey-understanding-devops-4le</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Hi! I’m Shreyas 👋, a developer on a 90-day mission to master DevOps. I’ll be learning and sharing my progress daily with bite-sized insights. If you're curious about DevOps or just starting your journey, let’s explore it together! 💡&lt;/p&gt;

&lt;p&gt;So this is the Day 1 of my journey. Lets gets started:&lt;/p&gt;

&lt;h2&gt;
  
  
  What is DevOps?
&lt;/h2&gt;

&lt;p&gt;DevOps is a culture, methodology, and set of practices that unify software development (Dev) and IT operations (Ops). It emphasizes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Collaboration: Developers and operations teams work together.&lt;/li&gt;
&lt;li&gt;Automation: Replacing manual tasks with tools and scripts.&lt;/li&gt;
&lt;li&gt;Continuous Integration/Continuous Deployment (CI/CD): Ensuring rapid, reliable software delivery.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Benefits of DevOps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Speed:&lt;/strong&gt; Faster release cycles and quicker feedback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality:&lt;/strong&gt; Automated testing reduces bugs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalability:&lt;/strong&gt; Efficient processes make scaling applications seamless.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The DevOps Lifecycle
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv9jtljzkowtoqi3nd2z.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv9jtljzkowtoqi3nd2z.jpg" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
Image from: &lt;a href="https://dev.tourl"&gt;www.freepik.com&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Plan:&lt;/strong&gt; Define the project goals, requirements, and workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Develop:&lt;/strong&gt; Write and collaborate on code using tools like Git.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build:&lt;/strong&gt; Package the code into deployable artifacts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test:&lt;/strong&gt; Validate functionality to catch bugs early.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Release:&lt;/strong&gt; Manage versions and prepare for deployment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deploy:&lt;/strong&gt; Push code to production or staging environments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operate:&lt;/strong&gt; Maintain infrastructure and application stability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitor:&lt;/strong&gt; Observe performance and gather feedback for improvements.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What is CI/CD?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx7pg0f2bslsd7uzeyows.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx7pg0f2bslsd7uzeyows.png" alt="Image description" width="800" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Continuous Integration (CI)
&lt;/h2&gt;

&lt;p&gt;A devOps software development practice where the developer regularly merge their code changes into a central repository, after which automated builds and tests are run.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it works:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Developers push code changes to a version control system (like Git).&lt;/li&gt;
&lt;li&gt;A CI server (e.g., Jenkins, GitHub Actions) automatically builds and tests the code.&lt;/li&gt;
&lt;li&gt;If the build or tests fail, the developer is notified.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Benefits of CI:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Prevents integration issues (the "it works on my machine" problem).&lt;/li&gt;
&lt;li&gt;Ensures a stable codebase.&lt;/li&gt;
&lt;li&gt;Saves time by identifying bugs early.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Continuous Deployment/Delivery (CD)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Continuous Delivery:&lt;/strong&gt; Ensures code changes are always in a deployable state. Deployment is manual but can be triggered with a single click.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continuous Deployment:&lt;/strong&gt; Takes Continuous Delivery one step further by automating the deployment process. Code changes that pass tests are automatically deployed to production.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How CD works:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;After successful CI, the application is built and packaged.
Automated tools deploy the application to staging and production environments.&lt;/li&gt;
&lt;li&gt;Monitoring tools ensure the new version works as expected.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Benefits of CD:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Reduces manual effort and risk of human error.&lt;/li&gt;
&lt;li&gt;Speeds up the feedback loop between users and developers.&lt;/li&gt;
&lt;li&gt;Allows teams to focus on building features rather than deployment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Takeaway
&lt;/h3&gt;

&lt;p&gt;Day 1 was all about setting the foundation for my DevOps journey. Understanding the principles of DevOps, the lifecycle, and the concepts of CI/CD has been an exciting start! 🚀&lt;/p&gt;

&lt;p&gt;I’m thrilled to continue this learning adventure, diving deeper into tools, technologies, and best practices in the coming days. Stay tuned, and let’s master DevOps together one step at a time! 💡&lt;/p&gt;

&lt;p&gt;💬 Got any tips or favorite tools? Let me know in the comments!&lt;/p&gt;

</description>
      <category>devops</category>
      <category>90dayschallenge</category>
    </item>
  </channel>
</rss>
