<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[_aws_devops_10]]></title><description><![CDATA[_aws_devops_10]]></description><link>https://awsdevops1.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 10:13:31 GMT</lastBuildDate><atom:link href="https://awsdevops1.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Ansible]]></title><description><![CDATA[Ansible is an open-source IT engine that automates application deployment, cloud provisioning, intra-service orchestration, and other IT tools. It is an automation and orchestration tool popular for the following reasons: 

Simple to Install.

Free a...]]></description><link>https://awsdevops1.hashnode.dev/ansible</link><guid isPermaLink="true">https://awsdevops1.hashnode.dev/ansible</guid><dc:creator><![CDATA[Vijeta Rajane]]></dc:creator><pubDate>Sat, 29 Mar 2025 05:26:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1743225967398/9a810860-9c60-4cc3-a81a-a033a33ba977.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ansible is an <strong>open-source IT engine</strong> that automates application deployment, cloud provisioning, intra-service orchestration, and other IT tools. It is an <strong>automation and orchestration tool</strong> popular for the following reasons: </p>
<ol>
<li><p>Simple to Install.</p>
</li>
<li><p>Free and open source.</p>
</li>
<li><p>Lightweight and consistent.</p>
</li>
<li><p>OpenSSH security features make it very secure.</p>
</li>
</ol>
<h2 id="heading-what-is-ansible">What Is Ansible?</h2>
<p>Ansible can be used to deploy the software on different servers at a time without human interaction. Ansible can also be used to configure the servers and create user accounts. Ansible is an agent-less software which means there is no need to install the software in the nodes which means you need to do the SSH to connect the nodes to perform the required operations on the servers.</p>
<p>Ansible playbooks can be written very easily they will be like plain english and Ansible is developed using Python language. There is no need for any knowledge of programming. A single ansible control node can manage thousands of the nodes.</p>
<h2 id="heading-ansible-architecture">Ansible Architecture</h2>
<ol>
<li><p><strong>Control node:</strong> Commands and Playbooks can run by invoking /usr/bin/ansible or /usr/bin/ansible-playbook, from any control node. You can use any computer that has <a target="_blank" href="https://www.geeksforgeeks.org/python-programming-language/"><strong>Python</strong></a> installed on it as a control node. However, one can not use a computer with Windows OS as a control node. One can have multiple control nodes.</p>
</li>
<li><p><strong>Managed nodes:</strong> Also sometimes called “hosts”, Managed nodes are the network devices (and/or servers) you manage with Ansible.</p>
</li>
<li><p><strong>Inventory:</strong> Also sometimes called “hostfile”, Inventory is the list of Managed nodes use to organize them. It is also used for creating and nesting groups for easier scaling.</p>
</li>
<li><p><strong>Modules:</strong> These are the units of code executed by Ansible. Each module can be used for a specific purpose. One can invoke a single module with a task, or invoke several different modules in a playbook.</p>
</li>
<li><p><strong>Tasks:</strong> The units of action in Ansible. One can execute a single task once with an ad-hoc command.</p>
</li>
</ol>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20231108113549/Ansible-architecture.png" alt="Ansible-architecture" /></p>
<h2 id="heading-ansible-playbook-with-example">Ansible Playbook With Example</h2>
<p>These are the ordered list of tasks that are saved so you can run those tasks in that order repeatedly. Playbooks are written in YAML and are easy to read, write, share and understand.Ansible playbooks can perform wide variety of tasks as mentioned below</p>
<ol>
<li><p>Deploying and configuring applications</p>
</li>
<li><p>Managing system configurations</p>
</li>
<li><p>Orchestrating complex workflows</p>
</li>
</ol>
<h3 id="heading-example">Example</h3>
<p>The language used to write the ansible playbooks was <a target="_blank" href="https://www.geeksforgeeks.org/what-is-the-difference-between-yaml-and-json/"><strong>YAML</strong></a> which is human redable.Following sections will consists in ansible playbook.</p>
<pre><code class="lang-plaintext">---
- hosts: all
  tasks:
    - name: Install the Apache web server
      apt:
        name: apache2
        state: present
</code></pre>
<ol>
<li><p><strong>Hosts:</strong> Host in ansible play book defines no.of remote host that playbook will executed and performs the task specified.</p>
</li>
<li><p><strong>Vars:</strong> Vars in anisble playbook defines the variables which can be used through out the playbook.</p>
</li>
<li><p><strong>Tasks:</strong> This is the section where we are going tot mention the type of task to be executed in the host servers.</p>
</li>
</ol>
<h2 id="heading-ansible-tower">Ansible Tower</h2>
<p>Ansible tower provides web-based user interface to manage the playbooks which are used to configuring the software’s. Ansible tower will acts as an medium to manage and execute the task like playbooks and adding the new host to the ansible. following are the some features available in the ansible tower.</p>
<ol>
<li><p><strong>Security:</strong> Ansible tower provides the Role-based access control (RBAC) which can be used to manage the access of users and can assign permissions to the playbooks and other resources. You can make sure the which user should which type permissions to access the resources in the ansible tower.</p>
</li>
<li><p><strong>Job scheduling:</strong> Ansible tower provide the option for scheduling the jobs to execute which will execute automatically in the interval’s of time This can help to automate tasks such as daily backups or weekly system updates.</p>
</li>
</ol>
<h2 id="heading-ansible-modules">Ansible Modules</h2>
<p>Ansible modules are scripts which can be reused and performs the tasks which have mentioned init in the host servers on behalf of you. Instead of performing the installation of softwares manually on each server ansible will automate the process. The tasks which you want to perform can be done on multiple OS also as mentioned following.</p>
<ol>
<li><p>Linux</p>
</li>
<li><p>Windows</p>
</li>
<li><p>macOS)</p>
</li>
</ol>
<p>The module which you are going to use will be written in the python. And the modules typically stored in central location which is like <a target="_blank" href="https://www.geeksforgeeks.org/what-is-a-git-repository/"><strong>git repository</strong></a> they can be reused and shared with others.</p>
<h3 id="heading-types-of-ansible-modules">Types of Ansible Modules</h3>
<p>Following are the some modules which are frequently used in the ansible.</p>
<ol>
<li><p>System modules</p>
</li>
<li><p>Application modules</p>
</li>
<li><p>Cloud modules</p>
</li>
<li><p>Networking modules</p>
</li>
<li><p>Command modules</p>
</li>
</ol>
<h2 id="heading-ansible-roles">Ansible Roles</h2>
<p>Ansible material can be arranged and reused using Ansible roles. They usually include a collection of variables, handlers, tasks, and templates used to carry out a particular activity, like setting up an application or installing and configuring a web server.Ansible playbooks can be made more modular and reusable by using roles. To deploy many web apps, you could, for instance, build a role for installing and configuring the Apache web server and then utilise that role repeatedly in different playbooks.Sharing Ansible material with other people is another way to use roles. To make your roles available for usage in other people’s playbooks, you can publish them to Ansible Galaxy, a public repository for Ansible roles.</p>
<h2 id="heading-ansible-vs-terraform">Ansible vs Terraform</h2>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Ansible</strong></td><td><a target="_blank" href="https://www.geeksforgeeks.org/what-is-terraform/"><strong>Terraform</strong></a></td></tr>
</thead>
<tbody>
<tr>
<td>Declerative approach it cares about current and end state of the system after executing playbook.</td><td>Declerative approach it cares about current and end state of the system after executing script file.</td></tr>
<tr>
<td>It doesn’t maintain type of statefile to track the task performed in the host servers.</td><td>Maintain the statefile and before executing any task it will cross verify with that statefile.</td></tr>
<tr>
<td>Playbooks for a variety of use cases are simple to find and distribute because to Ansible’s huge community and large library of pre-built modules.</td><td>Terraform is a great option for infrastructure provisioning and administration because of its huge ecosystem of providers for various cloud platforms and services.</td></tr>
<tr>
<td>Flexible, powerful, and easy to use.</td><td>Scalable, efficient, and secure.</td></tr>
</tbody>
</table>
</div><h2 id="heading-ansible-installation">Ansible Installation</h2>
<p><strong>In order to install ansible, the system must have python preinstalled.<br />Open up Terminal and execute the following commands.:</strong></p>
<p><strong>1.</strong> Add the Ansible Repository.</p>
<pre><code class="lang-plaintext">sudo apt-add-repository -y ppa:ansible/ansible
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200406190823/Screenshot-from-2020-04-06-18-30-37.png" alt="Add ansible repository" /></p>
<p> <strong>2.</strong> Update the system repository listings.</p>
<pre><code class="lang-plaintext">sudo apt-get update
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200406191148/Screenshot-from-2020-04-06-18-30-55.png" alt="update system repos" /></p>
<p> <strong>3.</strong> Install the ansible packages.sudo apt-get install -y ansible</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200406191240/Screenshot-from-2020-04-06-18-33-59.png" alt="instal ansible" /></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200406191235/Screenshot-from-2020-04-06-18-33-54.png" alt="install ansible" /></p>
]]></content:encoded></item><item><title><![CDATA[Jenkins]]></title><description><![CDATA[Jenkins and GIT Integration using SSH Key
Integrating Jenkins with Git using SSH keys is a powerful way to automate your Continuous Integration (CI) and Continuous Deployment (CD) pipelines while ensuring secure access to your Git repositories. In th...]]></description><link>https://awsdevops1.hashnode.dev/jenkins-1</link><guid isPermaLink="true">https://awsdevops1.hashnode.dev/jenkins-1</guid><dc:creator><![CDATA[Vijeta Rajane]]></dc:creator><pubDate>Wed, 26 Mar 2025 16:27:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1743006433087/bac0f425-6266-4d31-a03f-2825ec0296b4.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-jenkins-and-git-integration-using-ssh-key">Jenkins and GIT Integration using SSH Key</h1>
<p>Integrating Jenkins with Git using SSH keys is a powerful way to automate your Continuous Integration (CI) and Continuous Deployment (CD) pipelines while ensuring secure access to your Git repositories. In this article, we’ll guide you through the process of setting up Jenkins to work seamlessly with Git repositories using SSH keys.</p>
<h2 id="heading-prerequisites">Prerequisites</h2>
<ul>
<li><p><a target="_blank" href="https://www.geeksforgeeks.org/git-tutorial/"><strong>Git</strong></a></p>
</li>
<li><p><a target="_blank" href="https://www.geeksforgeeks.org/jenkins-tutorial/"><strong>Jenkins</strong></a></p>
</li>
<li><p><a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-github/"><strong>Github</strong></a></p>
</li>
</ul>
<p>Jenkins is an open-source automation tool with built-in plugins for continuous integration purposes. It is used to build compile and test your project which makes developers work easy to make changes in the project. Integrating Jenkins and Git is very important if your project is on Git and you want to build it on Jenkins.</p>
<h2 id="heading-steps-to-integrate-git-in-jenkins">Steps to Integrate Git in Jenkins</h2>
<p><strong>Step 1:</strong> Click on Manage Jenkins</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425174800/Screenshot-4224-e1587817139744.png" alt /></p>
<p><strong>Step 2:</strong> Click on Global Tool Configuration</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425175232/Screenshot-4316-e1587817383118.png" alt /></p>
<p><strong>Step 3:</strong> Set your git home location i.e. give the path of git in your system</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425175545/Screenshot-4416-e1587817564310.png" alt /></p>
<p><strong>Step 4:</strong> Now that you have linked your local git with your local Jenkins. It is time to generate the SSH keys for integrating your Jenkins project with your git repository. Open your <strong>git bash</strong> and type the command</p>
<pre><code class="lang-plaintext">ssh-keygen
</code></pre>
<p>It will generate two files in <strong>.ssh</strong> folder. One is <strong>id_rsa</strong> which is the private key and the other file is <strong>id_</strong><a target="_blank" href="http://rsa.pub"><strong>rsa.pub</strong></a></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425180140/Screenshot-4615.png" alt /></p>
<p><strong>Step 5:</strong> Now go to GitHub and login with your account. Then go to settings and select the SSH and GPG keys and then click on the button New SSH Key.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425180838/Screenshot-48_LI.jpg" alt /></p>
<p><strong>Step 6:</strong> Now you have to paste the public key here which you generated and is saved in <strong>.ssh folder</strong> under the file name <strong>id_</strong><a target="_blank" href="http://rsa.pub"><strong>rsa.pub</strong></a>. Copy the whole key and paste it in git and save it there.</p>
<h3 id="heading-adding-credentials">Adding Credentials</h3>
<p>Add Credentials option.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425181917/Screenshot-54_LI.jpg" alt /></p>
<p><strong>Step 1:</strong> Click on the System</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425182028/Screenshot-55_LI.jpg" alt /></p>
<p><strong>Step 2:</strong> Select the Global Credentials</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425182519/Screenshot-56_LI.jpg" alt /></p>
<p><strong>Step 3:</strong> Then click on Add Credentials</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425182649/Screenshot-57_LI1.jpg" alt /></p>
<p><strong>Step 4:</strong> Select the Kind dropdown as SSH Username with Private Key and configure it. Configure the private key here which is stored in <strong>.ssh</strong> folder under the file name <strong>id_rsa.</strong></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425182903/Screenshot-58_LI.jpg" alt /></p>
<h3 id="heading-configuring-git-with-jenkins">Configuring Git with Jenkins</h3>
<p>Now you have configured both the private and public key in Jenkins and Github respectively. Now open your project and go to configure.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425184019/Screenshot-67_LI.jpg" alt /></p>
<p><strong>Step 1:</strong> In General check the Github project and provide your Github home URL there</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425184159/Screenshot-69_LI.jpg" alt /></p>
<p><strong>Step 2:</strong> Give the repository Url in Source Code Management, repository Url can be fetched by clicking on clone and download option of Github and you have to select the SSH Url. Also, add credentials there of Jenkins. Just like this image.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425184423/Screenshot-70_LI.jpg" alt /></p>
<p><strong>Step 3:</strong> Lastly set your pom.xml path if it is a maven project and click on apply and save The pom.xml will be the path of your project repository. Like if you have multiple repositories in you Github then your formal to write your pom.xml should be like this “Repo_name\pom.xml”.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20200425184631/Screenshot-66_LI.jpg" alt /></p>
<h1 id="heading-jenkins-master-and-slave-configuration-using-aws-ec2-instance">jenkins Master And Slave Configuration Using AWS EC2 Instance</h1>
<h2 id="heading-what-is-jenkins">What Is Jenkins?</h2>
<p><a target="_blank" href="https://www.geeksforgeeks.org/what-is-jenkins/"><strong>Jenkins</strong></a> is an open-source automation server that facilitates the automation of several stages of the <a target="_blank" href="https://www.geeksforgeeks.org/software-development-life-cycle-sdlc/"><strong>software development lifecycle</strong></a>, including application development, testing, and deployment. Operating within servlet containers like <a target="_blank" href="https://www.geeksforgeeks.org/how-to-install-apache-tomcat-on-windows/"><strong>Apache Tomcat,</strong></a> the technology is server-based. <a target="_blank" href="https://www.geeksforgeeks.org/what-is-continuous-delivery-cd-in-agile/"><strong>Continuous delivery (CD)</strong></a> and <a target="_blank" href="https://www.geeksforgeeks.org/what-is-continuous-integration/"><strong>Continuous integration (CI)</strong></a> pipelines can be created and managed with Jenkins. The development, testing, and deployment of software applications are automated using <a target="_blank" href="https://www.geeksforgeeks.org/what-is-ci-cd/"><strong>CI/CD</strong></a> pipelines. You will be able to release software more regularly and with fewer problems if you do this.</p>
<ul>
<li><p>Jenkins is flexible.</p>
</li>
<li><p>You can add as many plugins as you want to add to the Jenkins.</p>
</li>
<li><p>You can automate the process of CI/CD pipelines of all the projects.</p>
</li>
</ul>
<h2 id="heading-jenkins-master-slave-architecture">Jenkins Master-Slave Architecture</h2>
<p><strong>Master-Slave Architecture:</strong> The diagram shows a Jenkins Master and multiple Jenkins Slaves in a master-slave architecture. In this setup, the Jenkins Master manages and coordinates the execution of jobs across the Jenkins Slaves.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240312132918/Jenkins-masterSlave.webp" alt="Jenkins- Master Slave Architecture" /></p>
<ul>
<li>Jenkins has written in Java, so it relies on the <a target="_blank" href="https://www.geeksforgeeks.org/jre-in-java/"><strong>Java Runtime Environment</strong></a> (JRE) to function. The JRE provides the necessary libraries and tools for Jenkins to run its code and perform its tasks.</li>
</ul>
<pre><code class="lang-plaintext">Note: There is no need of Jenkins in the slave or worker machine
</code></pre>
<h3 id="heading-need-of-java-in-jenkins-master-node"><strong>Need Of Java In Jenkins Master Node</strong></h3>
<p>The Jenkins Master is the central control unit. It manages tasks like:</p>
<ul>
<li><p>Scheduling builds</p>
</li>
<li><p>Assigning builds to available slaves</p>
</li>
<li><p>Monitoring slave status</p>
</li>
<li><p>Recording and displaying build results</p>
</li>
<li><p>To execute these tasks, the Master needs Java to run the Jenkins application code.</p>
</li>
<li><p>It interacts with Slaves using Java-based communication protocols.</p>
</li>
</ul>
<h3 id="heading-need-of-java-in-jenkins-slave-node"><strong>Need Of Java In Jenkins Slave Node</strong></h3>
<ul>
<li><p>Jenkins Slaves are essentially worker machines that execute the actual build jobs.</p>
</li>
<li><p>They need Java to run a small Java program called the "agent".</p>
</li>
<li><p>This agent listens for instructions from the Master, fetches build scripts and dependencies, and then uses the JRE to execute the build commands on the Slave machine.</p>
</li>
</ul>
<h2 id="heading-configuring-jenkins-master-and-slave-using-aws-ec2-instance">Configuring Jenkins Master And Slave Using AWS EC2 Instance</h2>
<p>Here we are using Amazon Web Services To achieve Jenkins master's and slave.</p>
<p><strong>Step 1:</strong> Create two EC2 instances and name them as Jenkins Server and Jenkins Node.</p>
<p><strong>Step 2:</strong> In one of the nodes install Jenkins which is going to act as the master node and install Java in the second server which is going to act as the slave or worker node. Establish the <a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-sshsecure-shell-keys/"><strong>SSH</strong></a> to the worker node and create a directory called node1.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240306071345/Screenshot-(623).webp" alt="Creating a directory" /></p>
<p><strong>Step 3:</strong> Open Jenkins and click on Manage Jenkins there you will find an option called Manage Nodes and Clouds. Click on that option.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240306071800/Screenshot-(624).webp" alt="manage nodes and cloud" /></p>
<p><strong>Step 4:</strong> On the left side you will se an option called new node click on it, there you need to configure all the details of the slave or worker node. In the node name section give the name of the node you want.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240306072308/Screenshot-(626).webp" alt=" Navigate to + New Node" /></p>
<p><strong>Step 5:</strong> Configure all the details that have been asked in that section as shown below.</p>
<ul>
<li><p><strong>No of executer:</strong> One because we are using only on one slave</p>
</li>
<li><p><strong>Remote root directory:</strong> In this area the the path of the direcory which we have created in the step 1.</p>
</li>
<li><p><strong>label:</strong> Give the label of the node as node only we will this label in the project we are going to build.</p>
</li>
<li><p><strong>Usage:</strong> Select As much as possible.</p>
</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240306073733/Screenshot-(627).webp" alt="Configuration details of node" /></p>
<p><strong>Step 6:</strong> Select the launch method as <strong>Launch agents via SSH</strong> in the host section give the IP addres of the slave or worker node in the creadentials configure you ssh key.</p>
<ul>
<li>In the section of Host Key verification Strategy select the option called <strong>manually trusted key strategy.</strong></li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240306075016/Screenshot-(629).webp" alt="Launching SSH Agent" /></p>
<ul>
<li>And After that ther will be one option called node properties dont select any thing leave it.</li>
</ul>
<p><strong>Step 7:</strong> Know you can see that you salve was online and ready to use it with your projects.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240306081541/Screenshot-(630).webp" alt="Slave was running" /></p>
<ul>
<li>Built in node was the master and the second node was slave.</li>
</ul>
<h2 id="heading-integration-of-slave-node-to-jenkins-project">Integration Of Slave Node To Jenkins Project</h2>
<p>Follow the steps mentioned below to integrate the jenkins project with the slave.</p>
<p><strong>Step 1:</strong> Click on general and click on ristrict where the project should run ther you will get an drop down named label expression.</p>
<ul>
<li>In that area give the name of the label you have given while configuring the slave node.</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240306082123/Screenshot-(631).webp" alt="node configuration" /></p>
<h1 id="heading-how-to-clean-jenkins-workspace">How To Clean Jenkins Workspace?</h1>
<p><strong>Jenkins</strong> is an open-source tool that is used to automate the build, test, and deploy stages of software. The Jenkins server always creates new workspaces on each new build to store the project code, build artifacts, log files, test files, and temporary files. Here in this guide, I will first discuss what is Jenkins. Then I will discuss Jenkins workspace and why it is important to clean Jenkins workspace. After this, i will guide you through the different steps to clean a Jenkins workspace of a particular Jenkins job.</p>
<h2 id="heading-what-is-jenkins-1">What is Jenkins?</h2>
<p><a target="_blank" href="https://www.geeksforgeeks.org/what-is-jenkins/"><strong>Jenkins</strong></a> is an automation tool used for DevOps practice. It automates the build, test, and deploy stages of software development. Jenkins has a very friendly UI. It also provides many plugins to automate various stages. For example, it provides privacy and was plugins for testing purposes. Jenkins accelerates the software development cycle. By automating various stages and tasks, Jenkins helps any software development team to reduce any type of manual errors and improve efficiency. Jenkins is evolving and becoming more reliable with its every new update. In summary, we can say Jenkins has become an essential tool for organizations to improve and accelerate their software development cycles.</p>
<h2 id="heading-why-to-clean-jenkins-workspace">Why To Clean Jenkins Workspace?</h2>
<p>Jenkins Workspace is a directory on the Jenkins server where the project code and all other dependency files are stored. Whenever users build a new job, the Jenkins server by default makes a new workspace for that job to store the project code fetched from a version control system like <a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-github/"><strong>Github,</strong></a> Gitlab, etc. It is important to clean Jenkins Workspace for the following reasons :</p>
<ul>
<li><p>Over time new files and artifacts accumulate in the Jenkins workspace. It takes unnecessary disk space. So to free disk space, workspace cleanup is necessary.</p>
</li>
<li><p>The build process will be faster if the workspace is cleaned.</p>
</li>
<li><p>Over time new files and old files accumulate in the workspace. These new and old files can create conflict during building a job which may lead to build failure.</p>
</li>
<li><p>There is a chance that on building a job, some sensitive files may be stored in the workspace. Cleaning of the workspace may lead to solving such security and vulnerability issues.</p>
</li>
</ul>
<h2 id="heading-pre-requisites">Pre-requisites</h2>
<p>Before moving to the next section make sure you have installed Jenkins on your system. If Jenkins is not installed, then follow these detailed geeks for geeks articles to install Jenkins on your system.</p>
<ul>
<li><p>For Windows users: <a target="_blank" href="https://www.geeksforgeeks.org/installing-jenkins-on-windows/"><strong>Installing Jenkins on Windows</strong></a></p>
</li>
<li><p>For Ubuntu users: <a target="_blank" href="https://www.geeksforgeeks.org/how-to-install-and-configure-jenkins-on-debian-linux-ubuntu-kali-mint/"><strong>How to Install and configure Jenkins on Debian Linux (Ubuntu/Kali/Mint)</strong></a></p>
</li>
</ul>
<h2 id="heading-steps-to-clean-jenkins-workspace">Steps To Clean Jenkins Workspace</h2>
<p><strong>Step 1 :</strong> Go to Jenkins dashboard . Here create a sample freestyle project .</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305062840/freestyle-pipeline.jpg" alt="freestyle-pipeline" /></p>
<p><strong>Step 2 :</strong> Now write a script which will generate some files in the workspace . (<em>windows users should use windows batch commands and ubuntu users should use shell to write the script</em> )</p>
<pre><code class="lang-plaintext">echo "hello geeks" &gt; file1.txt
echo "Jenkins is easy" &gt; file2.txt
echo "this is a sample job" &gt; file3.txt
echo "this script is used in my GeeksForGeeks article"
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305063122/script.png" alt="script" /></p>
<p><strong>Step 3 :</strong> Now after this build the project by selecting <strong>Build Now</strong> .</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305063201/build.png" alt="build" /></p>
<p><strong>Step 4 :</strong> Select workspace to see the files .</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305063507/workspace.png" alt="workspace" /></p>
<p><strong>Step 5 :</strong> Now to clean the workspace select <strong>Wipe Out Current Workspace</strong> and then click ok <strong>.</strong></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305063746/clean.png" alt="clean" /></p>
<p>Now in your workspace you will not see any files . This workspace clean up should be done before performing any new build as to ensure that there is no conflict between present files and old files . Until now we have cleaned workspace manually , now follow the steps below to automate workspace clean up on each new build .</p>
<p><strong>Step 6 :</strong> Select <strong>configure</strong> . Then go to a section called <strong>Build Environment</strong> . Here select <strong>Delete workspace before build starts .</strong></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305065034/select-delete-workspace.jpg" alt="select-delete-workspace" /></p>
<p>From now, on each new build , the workspace is cleaned up . Basically all the files of old build are deleted .</p>
<p><strong>Step 7 :</strong> Now update the script . Here i have only updated the file1.txt contents .</p>
<pre><code class="lang-plaintext">echo "hello geeks. This is an article on How to clean Jenkins Workspace " &gt; file1.txt
echo "Jenkins is easy " &gt; file2.txt
echo "this is a sample job" &gt; file3.txt
echo "this script is used in my GeeksForGeeks article"
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305070234/script-update.jpg" alt="script-update" /></p>
<p><strong>Step 8 :</strong> Now build the project and go to its workspace .</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240305070443/new-build.png" alt="new-build" /></p>
<p><strong>Step 9 :</strong> Now click on the file1.txt to see its content . You will see the updated conten</p>
]]></content:encoded></item><item><title><![CDATA[Jenkins]]></title><description><![CDATA[Jenkins is an open-source automation server by which you can automate the building, testing, and deployment of the application to different servers like development, testing, and production. Jenkins is primarily used for the continuous integration (C...]]></description><link>https://awsdevops1.hashnode.dev/jenkins</link><guid isPermaLink="true">https://awsdevops1.hashnode.dev/jenkins</guid><dc:creator><![CDATA[Vijeta Rajane]]></dc:creator><pubDate>Tue, 25 Mar 2025 13:09:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742908125709/2eb9bc86-5b19-435a-8410-a6addbd74337.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Jenkins is an open-source automation server by which you can automate the building, testing, and deployment of the application to different servers like development, testing, and production. Jenkins is primarily used for the continuous integration (CI) and continuous Deployment (CD) pipelines.</p>
<h2 id="heading-what-is-jenkins"><strong>What is Jenkins</strong></h2>
<p>Jenkins is a hub for automating the various aspects of the software development lifecycle which includes building, testing, and deploying the application. We can call Jenkins a pipeline orchestrator where the developer can manage the pipelines of the projects that they have been developed.</p>
<h2 id="heading-why-jenkins">Why Jenkins?</h2>
<ul>
<li><p><strong>Master CI/CD Pipelines:</strong> Automate building, testing, and deploying code efficiently.</p>
</li>
<li><p><strong>In-Demand DevOps Skill:</strong> Jenkins knowledge is valuable for roles like DevOps Engineer and Build Engineer.</p>
</li>
<li><p><strong>Automate Repetitive Tasks:</strong> Save time and reduce human error in software development.</p>
</li>
<li><p><strong>Wide Tool Integration:</strong> Works with numerous tools like Git, Maven, Docker, and Kubernetes.</p>
</li>
<li><p><strong>Boost Team Collaboration:</strong> Facilitates continuous integration and feedback, improving team workflows.</p>
</li>
<li><p><strong>Scalability:</strong> Supports large-scale projects with distributed builds.</p>
</li>
<li><p><strong>Career Growth:</strong> High demand for Jenkins expertise opens better job opportunities.</p>
</li>
</ul>
<h1 id="heading-installing-jenkins-on-windows">Installing Jenkins on Windows</h1>
<p>Jenkins is primarily used for continuous integration and continuous delivery on a platform. It is a Java application that has multiple plugins for automating all components at an infrastructure level. These plugins are responsible for all the different functionalities of Jenkins.</p>
<h2 id="heading-jenkins-installation-steps-using-windows-msi-installer">Jenkins Installation Steps Using Windows MSI Installer</h2>
<p>Follow the below step to install Jenkins in your Windows operating system: To know how to build Jenkins ci/cd pipeline refer to the <a target="_blank" href="https://www.geeksforgeeks.org/how-to-make-a-ci-cd-pipeline-in-jenkins/"><strong>How to Make a CI-CD Pipeline in Jenkins?</strong></a></p>
<p><strong>Step 1:</strong> Go to <strong>“</strong><a target="_blank" href="https://jenkins.io/download/”"><strong>https://jenkins.io/download/”</strong></a></p>
<p><strong>Step 2:</strong> Choose the Platform on which you are interested to install.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210114234905/dwn.jpg" alt="Downloading jenkins " /></p>
<p><strong>Step 3:</strong> For this we selected Windows, you can download either LTS or weekly releases. Click on Download for Windows 64-bit. File will download </p>
<p><strong>Step 4:</strong> Double-click on the file which is downloaded, this will lead to the below window. Click <strong>Next</strong> twice.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210118155615/setup.jpg" alt="Jenkins setup " /></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210118162025/comp.jpg" alt="Step 4" /></p>
<p><strong>Step 5:</strong> Click next and give your name and mail details and click next</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210118162423/signup.jpg" alt="Create Admin Account " /></p>
<p><strong>Step 6:</strong> Click on the <strong>Allow</strong> access button and Finish Button</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210118165718/finish.jpg" alt="Click On finish  Button " /></p>
<p><strong>Step 7:</strong> Click on Access Jenkins</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210114235949/ACESS.jpg" alt="Access Jenkins " /></p>
<h2 id="heading-post-installation-setup-wizard">Post-Installation Setup Wizard</h2>
<p>After downloading you need to follow some steps to setup jenkins to processed further.</p>
<p><strong>Step 1:</strong> Type the <em>user name</em> and <em>password</em> which had given earlier to open Jenkins</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210115000142/LOGIN.jpg" alt="Welcome jenkins " /></p>
<p><strong>Step 2:</strong> Click install suggested plug-in and click continue </p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210118170944/plugin.jpg" alt="Installing the plugins " /></p>
<p><strong>Step 3:</strong> Click on save and finish</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210118174622/savenfinish.jpg" alt="Instance Configuration " /></p>
<p><strong>Step 4:</strong> Refresh the screen and you will login into Jenkins</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20210115000736/dashboard.jpg" alt="Admin " /></p>
<h2 id="heading-6-steps-to-install-jenkins-on-windows">6 Steps to Install Jenkins on Windows</h2>
<h3 id="heading-1-download-jenkins-msi-installer">1. Download Jenkins MSI installer</h3>
<p>MSI stands for Microsoft Windows Installer which is used to install the softwares on windows systems. Mostly used to install large and complex packages. You can download latest version of MSI on jenkins website.</p>
<h3 id="heading-2-install-java-development-kitjdk">2. Install Java Development KIT(JDK)</h3>
<p>Download the JDK 8 installer for Windows, choosing the 32-bit or 64-bit version depending on your system configuration. Agree to the license agreement.</p>
<h3 id="heading-3-set-the-path-for-the-environmental-variable-for-jdk">3. Set the Path for the Environmental Variable for JDK</h3>
<p>Open Jenkins web interface go to jenkins left-hand sidebar and select the configure system select the environmental variables.Select the new variable section and set as following.</p>
<ul>
<li><p>Variable: JAVA_HOME</p>
</li>
<li><p>Value: The path to the JDK installation directory. For example, on Windows, the default installation directory for JDK is C:\Program Files\Java\jdk1.8.0_311.</p>
</li>
</ul>
<p>Click Add</p>
<h3 id="heading-4-run-jenkins-on-localhost-8080">4. Run Jenkins on Localhost 8080</h3>
<p>Once the jenkins is get installed you need to access it from the browser by using the “localhost:8080”. Install all the recommended plugins when prompted by the dashboard.</p>
<h3 id="heading-5-jenkins-server-interface">5. Jenkins Server Interface</h3>
<p>After acessing it from the internet by using local host know you can create your own project by clicking on the new item or new project where you can select the different kind types of projects you want like Freestyle project, Pipeline,Multi-configuration project and son on.</p>
<h3 id="heading-6-build-and-run-a-job-on-jenkins">6. Build and Run a Job on Jenkins</h3>
<p>After writing the pipeline is done click on save it will be directly redirected to the Dashboard of the project there we can use, the “Build Now” option to run the pipeline and check if it is successful or not, by using stage view or console output.</p>
<h2 id="heading-how-to-install-jenkins-on-windows-using-command-prompt">How To Install Jenkins On Windows Using Command Prompt?</h2>
<p>Follow the steps mentioned bellow to install jenkins using command prompt.</p>
<p><strong>Step 1:</strong> Download the jenkins WAR(Web application) file into the machine which you want to install the jenkins you achive that using following command.</p>
<pre><code class="lang-plaintext">wget https://get.jenkins.io/war-stable/latest/jenkins.war
</code></pre>
<p><strong>Step 2:</strong> Create and the move the jenkins war file to that directory.</p>
<pre><code class="lang-plaintext">mkdir jenkins &amp; mv jenkins.war jenkins
</code></pre>
<p><strong>Step 3:</strong> Run the jenkins using the following command.</p>
<pre><code class="lang-plaintext">java -jar jenkins.war
</code></pre>
<h1 id="heading-install-jenkins-on-amazon-ec2-step-by-step-guide">Install Jenkins on Amazon EC2: Step-by-Step Guide</h1>
<p>Jenkins configuration in the EC2 instance on the Amazon Web Service Platform includes all steps in detail, which helps the user easily set up your Jenkins tools on the EC2 instance for continuous integration and continuous development. Nowadays, Jenkins has become a more popular tool as compared to others, and it is open source. It is free, and it is lightweight. Jenkins using the 8080 port. Jenkins code is available for everyone to contribute and add more features to this tool. It has a strong community and it has a number of plugins to do any type of work related to continuous integration and continuous development.</p>
<h1 id="heading-prerequisites">Prerequisites</h1>
<ul>
<li><p>We need to set up an <a target="_blank" href="https://www.geeksforgeeks.org/amazon-web-services-aws-free-tier-account-set-up/"><strong>Amazon account</strong></a>.</p>
</li>
<li><p>Amazon Linux instance.</p>
</li>
</ul>
<h2 id="heading-installing-jenkins-on-amazon-ec2-step-by-step-guide">Installing Jenkins on Amazon EC2 | Step-By-Step Guide</h2>
<p>Below are the steps to guide the launch of an EC2 instance and install Jenkins on AWS EC2:</p>
<h3 id="heading-1-launching-an-amazon-ec2-instance">1. Launching an Amazon EC2 instance</h3>
<p>Launch a virtual server in the <a target="_blank" href="https://www.geeksforgeeks.org/what-is-elastic-compute-cloud-ec2/"><strong>Amazon Web Services (AWS) Elastic Compute Cloud (EC2)</strong></a> service and configure it with Jenkins, enabling you to deploy and run applications on scalable compute capacity within the AWS cloud infrastructure while utilizing Jenkins for continuous integration and deployment workflows.</p>
<p><strong>Step 1:</strong> Open the AWS console. Click on the EC2 Service.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003214/IMG_20230309_131830-768.png" alt="Select  EC2" /></p>
<p><strong>Step 2:</strong> Click on the Launch Instance button</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003253/IMG_20230309_131850-768.png" alt="Launch instance" /></p>
<p><strong>Step 3:</strong> Type the Instance name – Ubuntu<em>.</em> Select the <a target="_blank" href="https://www.geeksforgeeks.org/what-is-amazon-machine-image-ami/"><strong>AMI</strong></a> – Ubuntu</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003259/IMG_20230309_132137-768.png" alt="Select OS and AMI" /></p>
<h3 id="heading-2-creating-a-key-pair">2. Creating a key pair</h3>
<p>How To A Create A Key Pairs In AWS-EC2 ? |Complete Tutorial – <a target="_blank" href="https://www.geeksforgeeks.org/how-to-a-create-a-key-pairs-in-aws-ec2/"><strong>Read.</strong></a></p>
<p>In the following step 4 we are selecting the existing key pair.</p>
<p><strong>Step 1:</strong> Select the Instance type – <em>t2.micro.</em>Create or choose the existing Key pair – <em>linux1</em></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003309/IMG_20230309_132205-768.png" alt="Select instance type and Keypair " /></p>
<h3 id="heading-3-creating-a-security-group">3. Creating a security group</h3>
<p>What is Security Group in AWS and How To Create it? – <a target="_blank" href="https://www.geeksforgeeks.org/what-is-security-group-in-aws-and-how-to-create-it/"><strong>Read.</strong></a></p>
<p>In the following step we are selecting the existing security group.</p>
<p><strong>Step 1:</strong> Create the security group or choose the existing security group. Open the Port. Confirm that port 8080 is open for traffic in your security groups. Jenkins uses this port by default.</p>
<ul>
<li><p><em>8080 – Jenkins</em></p>
</li>
<li><p><em>80 – HTTP</em></p>
</li>
<li><p><em>43 – HTTP</em></p>
</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003315/IMG_20230309_132233-768.png" alt="Select the SG" /></p>
<p><strong>Step 2:</strong> Click on the Launch Instance Button</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003320/IMG_20230309_132254.png" alt="Launch instance" /></p>
<h2 id="heading-connecting-to-your-linux-instance">Connecting to your Linux instance</h2>
<p>Establish a secure shell (SSH) connection to your AWS EC2 instance, allowing remote access to the server’s command-line interface for configuration, and management.</p>
<h3 id="heading-1-using-ssh-to-connect-to-your-instance">1. Using SSH to connect to your instance</h3>
<p>Following steps to connect the VM using the ssh</p>
<p><strong>Step 1:</strong> Let us <a target="_blank" href="https://www.geeksforgeeks.org/ssh-command-in-linux-with-examples/"><strong>SSH</strong></a> onto the Amazon Linux instance where Jenkins is being installed to do some things first. Open the terminal and type:</p>
<pre><code class="lang-plaintext">ssh -i &lt;your_key&gt;.pem ec2-user@&lt;your_amazon_linux_instance_ip&gt;
</code></pre>
<p><strong>Step 2:</strong> Type the command for Root access</p>
<pre><code class="lang-plaintext"> sudo su -
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003325/IMG_20230309_132315-768.png" alt="Change to root user" /></p>
<h2 id="heading-downloading-and-installing-jenkins">Downloading and installing Jenkins</h2>
<h3 id="heading-1-install-java-on-vm">1. Install java on vm</h3>
<p><strong>Step 1:</strong> To ensure your system is up to date, open a terminal window and execute the following command:</p>
<pre><code class="lang-plaintext">apt-get update -y
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003331/IMG_20230309_132336-768.png" alt="Update instance " /></p>
<p><strong>Step 2:</strong> To <a target="_blank" href="https://www.geeksforgeeks.org/download-and-install-java-development-kit-jdk-on-windows-mac-and-linux/"><strong>install Java</strong></a>, which is a prerequisite for Jenkins, you can use the following command in your terminal:</p>
<pre><code class="lang-plaintext">apt install openjdk-11-jre
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003339/IMG_20230309_132402-768.png" alt="Install java" /></p>
<p><strong>Step 3:</strong> Verify the version of java by executing the following command.</p>
<pre><code class="lang-plaintext"> java -version
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003345/IMG_20230309_132542-768.png" alt="Check java version " /></p>
<h3 id="heading-2-downloading-jenkins">2. Downloading Jenkins</h3>
<p><strong>Step 1:</strong> Below command is used for downloading and saving the Jenkins repository key to a keyring file named jenkins-keyring.asc.</p>
<pre><code class="lang-plaintext">curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee \ /usr/share/keyrings/jenkins-keyring.asc &gt; /dev/null
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003353/IMG_20230309_132620-768.png" alt="Download plugins " /></p>
<p><strong>Step 2:</strong> After making the repository URL into a file named jenkins.list in the /etc/apt/sources.list.d/ directory, the bellow command puts the Jenkins repository to the list of package sources.</p>
<pre><code class="lang-plaintext">echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \ https://pkg.jenkins.io/debian binary/ | sudo tee \  /etc/apt/sources.list.d/jenkins.list &gt; /dev/null
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003401/IMG_20230309_132650-768.png" alt="Install plugin" /></p>
<p><strong>Step 3:</strong> Update the packages again using the below command.</p>
<pre><code class="lang-plaintext">apt-get update -y
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003410/IMG_20230309_132716-768.png" alt="Update instance " /></p>
<h2 id="heading-installing-and-configuring-jenkins">Installing and configuring Jenkins</h2>
<p>Deploy and configure the Jenkins automation server on your AWS EC2 instance.</p>
<p><strong>Step 1:</strong> The below command to installs Jenkins on your system using the apt package manager. The -y flag automatically confirms all prompts during the installation process, ensuring seamless installation without manual intervention.</p>
<pre><code class="lang-plaintext">sudo apt install jenkins -y
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003420/IMG_20230309_132737-768.png" alt="Install Jenkins " /></p>
<p><strong>Step 2:</strong> The below commands enable and checks the status of the Jenkins service using systemctl. It provides information about whether Jenkins is running, stopped, or encountering any issues.</p>
<pre><code class="lang-plaintext">sudo systemctl enable jenkins
sudo systemctl status Jenkins
</code></pre>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003428/IMG_20230309_132811-768.png" alt="Check Jenkins status " /></p>
<h3 id="heading-4-configuring-jenkins">4. Configuring Jenkins</h3>
<p>Access the Jenkins web interface using the instance’s public IP address and port number to begin configuring and managing your Jenkins server and automation pipelines.</p>
<p><strong>Step 1:</strong> Obtain Initial Admin Password.</p>
<p>After accessing Jenkins through your browser via “HTTP://&lt;instance-ip&gt;:8080”, you’ll be prompted to provide the initial admin password. This password is located in the file “/var/lib/jenkins/secrets/initialAdminPassword”. Copy the password from this file and paste it into the command shell prompt. Subsequently, you’ll receive a unique code for Jenkins initialization.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003435/IMG_20230309_132922-768.png" alt="Accesses Jenkins from browser" /></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310011010/IMG_20230309_133009-768.png" alt="Get the password " /></p>
<p> <strong>Step 2:</strong> Set Jenkins Administrator Password.</p>
<p>Once you’ve obtained the initial admin password from Step 1, paste it into the prompt labeled “Administrator password” in the Jenkins web interface. This step enables you to authenticate as the administrator and proceed with Jenkins setup and configuration.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310011323/IMG_20230309_133026-1024.png" alt="Pate the Jenkins password " /></p>
<p><strong>Step 3:</strong> Create the First Admin User.</p>
<p>In this step, you will create the first admin user for your system, granting initial administrative privileges to manage and configure the platform.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240403130746/create-admin-user.webp" alt="create-admin-user" /></p>
<p><strong>Step 4:</strong> Install Suggested Plugins.</p>
<p>After setting up the administrator password, click on the “Install suggested plugins” button in the Jenkins web interface. This action initiates the installation of the recommended plugins, which are essential for Jenkins functionality and features.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003936/IMG_20230309_145804-768.png" alt="Install suggested plugins " /></p>
<p><strong>Step 5:</strong> Jenkins Setup Completion.</p>
<p>With the installation and configuration completed, Jenkins is now ready for use. Navigate to the Jenkins dashboard and click on “New Item” to create a new job. From here, you can begin configuring and running your automated build and <a target="_blank" href="https://www.geeksforgeeks.org/how-to-make-a-ci-cd-pipeline-in-jenkins/"><strong>deployment pipelines.</strong></a></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20230310003944/IMG_20230309_145824-768.png" alt="Create first job " /></p>
<h2 id="heading-deleting-your-ec2-instance">Deleting your EC2 instance</h2>
<ul>
<li><p>Navigate to the “Instances” section in the left-hand navigation bar of the Amazon EC2 console.</p>
</li>
<li><p>Locate the instance you want to terminate and select it.</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Git and Github]]></title><description><![CDATA[introduction to Git
For installation purposes on ubuntu, you can refer to this article: How to Install, Configure and Use GIT on Ubuntu? 
Git is a distributed version control system. So, What is a Version Control System? 
A version Control system is ...]]></description><link>https://awsdevops1.hashnode.dev/git-and-github</link><guid isPermaLink="true">https://awsdevops1.hashnode.dev/git-and-github</guid><dc:creator><![CDATA[Vijeta Rajane]]></dc:creator><pubDate>Mon, 24 Mar 2025 07:21:39 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742800865637/a82c85fc-d946-4c32-9368-ac6beb2a489f.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-introduction-to-git"><strong>introduction to Git</strong></h3>
<p>For installation purposes on ubuntu, you can refer to this article: <a target="_blank" href="https://www.geeksforgeeks.org/how-to-install-configure-and-use-git-on-ubuntu/"><strong>How to Install, Configure and Use GIT on Ubuntu?</strong></a> </p>
<p>Git is a distributed version control system. So, <strong>What is a Version Control System?</strong> </p>
<p>A version Control system is a system that maintains different versions of your project when we work in a team or as an individual. (system managing changes to files) As the project progresses, new features get added to it. So, a version control system maintains all the different versions of your project for you and you can roll back to any version you want without causing any trouble to you for maintaining different versions by giving names to it like MyProject, MyProjectWithFeature1, etc. </p>
<p>Distributed Version control system means every collaborator(any developer working on a team project)has a local repository of the project in his/her local machine unlike central where team members should have an internet connection to every time update their work to the main central repository. </p>
<p>So, by distributed we mean: the project is distributed. A repository is an area that keeps all your project files, images, etc. In terms of Github: different versions of projects correspond to commits.<br />For more details on introduction to Github, you can refer: <a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-github/"><strong>Introduction to Github</strong></a> </p>
<h3 id="heading-git-repository-structure"><strong>Git Repository Structure</strong></h3>
<p>It consists of 4 parts:  </p>
<ol>
<li><p><strong>Working directory:</strong> This is your local directory where you make the project (write code) and make changes to it.</p>
</li>
<li><p><strong>Staging Area (or index):</strong> this is an area where you first need to put your project before committing. This is used for code review by other team members.</p>
</li>
<li><p><strong>Local Repository:</strong> this is your local repository where you commit changes to the project before pushing them to the central repository on Github. This is what is provided by the distributed version control system. This corresponds to the .git folder in our directory.</p>
</li>
<li><p><strong>Central Repository:</strong> This is the main project on the central server, a copy of which is with every team member as a local repository.</p>
</li>
</ol>
<p>All the repository structure is internal to Git and is transparent to the developer. </p>
<p><strong>Some commands which relate to repository structure:</strong>  </p>
<pre><code class="lang-plaintext">// transfers your project from working directory
// to staging area.
git add .

// transfers your project from staging area to 
// Local Repository.
git commit -m "your message here"


// transfers project from local to central repository.
// (requires internet)
git push
</code></pre>
<h3 id="heading-github">Github</h3>
<p>Github basically is a for-profit company owned by Microsoft, which hosts Git repositories online. It helps users share their git repository online, with other users, or access it remotely. You can also host a public repository for free on Github. </p>
<p>User share their repository online for various reasons including but not limited to project deployment, project sharing, open source contribution, helping out the community and many such.</p>
<h3 id="heading-accessing-github-central-repository-via-https-or-ssh"><strong>Accessing</strong> Github <strong>central repository via HTTPS or SSH</strong></h3>
<p>Here, transfer project means transfer changes as git is very lightweight and works on changes in a project. It internally does the transfer by using Lossless Compression Techniques and transferring compressed files. Https is the default way to access Github central repository.  </p>
<ul>
<li><p><strong>By git remote add origin http_url:</strong> remote means the remote central repository. Origin corresponds to your central repository which you need to define (hereby giving HTTPS URL) in order to push changes to Github.</p>
</li>
<li><p><strong>Via SSH:</strong> connect to Linux or other servers remotely.</p>
</li>
</ul>
<p>If you access Github by ssh you don’t need to type your username and password every time you push changes to GitHub. </p>
<p><strong>Terminal commands:</strong> </p>
<pre><code class="lang-plaintext">ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
This does the ssh key generation using RSA cryptographic algorithm.

eval "$(ssh-agent -s)" -&gt; enable information about local login session.

ssh-add ~/.ssh/id_rsa -&gt; add to ssh key.
cat ~/.ssh/id_rsa (use .pub file if not able to connect)
add this ssh key to github.


Now, go to github settings -&gt; new ssh key -&gt; create key

ssh -T git@github.com -&gt; activate ssh key (test connection)

Refresh your github Page.
</code></pre>
<h3 id="heading-working-with-git-important-git-commands"><strong>Working with git – Important Git commands</strong></h3>
<p><strong>Git user configuration (First Step)</strong>  </p>
<pre><code class="lang-plaintext">git --version (to check git version)
git config --global user.name "your name here"
git config --global user.email "your email here"
</code></pre>
<p>These are the information attached to commits.  </p>
<p><strong>Initialize directory</strong> </p>
<pre><code class="lang-plaintext">git init
</code></pre>
<p>initializes your directory to work with git and makes a local repository. .git folder is made (OR) </p>
<pre><code class="lang-plaintext">git clone http_url
</code></pre>
<p>This is done if we have an existing git repository and we want to copy its content to a new place.</p>
<p><strong>Connecting to the remote</strong> <strong>repository</strong> </p>
<pre><code class="lang-plaintext">git remote add origin http_url/ssh_url
</code></pre>
<p>connect to the central repo to push/pull. pull means adopting the changes on the remote repository to your local repository. push merges the changes from your local repository to the remote repository.  </p>
<pre><code class="lang-plaintext">git pull origin master
</code></pre>
<p>One should always first pull contents from the central repo before pushing so that you are updated with other team members’ work. It helps prevent merge conflicts. Here, master means the master branch (in Git).  </p>
<p><strong>Stash Area in git</strong></p>
<pre><code class="lang-plaintext">git stash
</code></pre>
<p>Whichever files are present in the staging area, it will move that files to stash before committing it. </p>
<pre><code class="lang-plaintext">git stash pop
</code></pre>
<p>Whenever we want files for commit from stash we should use this command.</p>
<pre><code class="lang-plaintext">git stash clear
</code></pre>
<p>By doing this, all files from stash area is been deleted.</p>
<p><strong>Steps to add a file to a remote Repository:</strong> </p>
<p>First, your file is in your working directory, Move it to the staging area by typing:  </p>
<pre><code class="lang-plaintext">git add -A (for all files and folders)
#To add all files only in the current directory
git add .
</code></pre>
<p><strong>git status:</strong> here, untracked files mean files that you haven’t added to the staging area. Changes are not staged for commit means you have staged the file earlier than you have made changes in that files in your working directory and the changes need to be staged once more. Changes ready to be committed: these are files that have been committed and are ready to be pushed to the central repository.  </p>
<pre><code class="lang-plaintext">git status
</code></pre>
<pre><code class="lang-plaintext">git commit -a -m "message for commit"
-a: commit all files and for files that have been 
     staged earlier need not to be git add once more
-a option does that automatically.
</code></pre>
<pre><code class="lang-plaintext">git push origin master -&gt; pushes your files to 
                         github master branch
git push origin anyOtherBranch -&gt; pushes any 
                      other branch to github.
git log ; to see all your commits
</code></pre>
<pre><code class="lang-plaintext">git checkout commitObject(first 8 bits) file.txt-&gt; 
revert back to this previous commit for file file.txt
</code></pre>
<p>Previous commits might be seen through the git log command. </p>
<pre><code class="lang-plaintext">HEAD -&gt; pointer to our latest commit.
</code></pre>
<p><strong>Ignoring files while committing</strong></p>
<p>In many cases, the project creates a lot of logs and other irrelevant files which are to be ignored. So to ignore those files, we have to put their names in<strong>“.gitignore”</strong> file.  </p>
<pre><code class="lang-plaintext">touch .gitignore
echo "filename.ext" &gt;&gt;.gitignore
#to ignore all files with .log extension
echo "*.log" &gt; .gitignore
</code></pre>
<p>Now the filenames written in the .gitignore file would be ignored while pushing a new commit. To get the changes between commits, commit, and working tree. </p>
<pre><code class="lang-plaintext">git diff
</code></pre>
<p>The ‘git diff’ command compares the staging area with the working directory and tells us the changes made. It compares the earlier information as well as the current modified information. </p>
<p><strong>Branching in Git</strong> </p>
<pre><code class="lang-plaintext">create branch -&gt;
git branch myBranch
or
git checkout -b myBranch -&gt; make and switch to the 
                                  branch myBranch
</code></pre>
<p>Do the work in your branch. Then, </p>
<pre><code class="lang-plaintext">git checkout master ; to switch back to master branch
</code></pre>
<p>Now,  merge contents with your myBranch By: </p>
<pre><code class="lang-plaintext">git merge myBranch (writing in master branch)
</code></pre>
<p>This merger makes a new commit. </p>
<p><strong>Another way</strong> </p>
<pre><code class="lang-plaintext">git rebase myBranch
</code></pre>
<p>This merges the branch with the master in a serial fashion. Now,  </p>
<pre><code class="lang-plaintext">git push origin master
</code></pre>
<p><strong>To remove  or delete a file</strong> </p>
<p>To remove.  a file from the  Git repository we use </p>
<pre><code class="lang-plaintext">git rm “file name”
</code></pre>
<p>To remove only from the staging area </p>
<pre><code class="lang-plaintext">git rm –cached “ file name”
</code></pre>
<p><strong>Undoing change</strong></p>
<p>To change all the  files to as same as the previous commit then use</p>
<pre><code class="lang-plaintext">git checkout -f
</code></pre>
<h3 id="heading-contributing-to-open-source">Contributing to Open Source</h3>
<p>Open Source might be considered as a way where user across the globe may share their opinions, customizations or work together to solve an issue or to complete the desired project together. Many companies host there repositories online on Github to allow access to developers to make changes to their product. Some companies(not necessarily all) rewards their contributors in different ways.</p>
<p>You can contribute to any open source project on Github by forking it, making desired changes to the forked repository, and then opening a pull request. The project owner will review your project and will ask to improve it or will merge it.</p>
]]></content:encoded></item><item><title><![CDATA[Git / Github In Devops]]></title><description><![CDATA[What is Git?
Git is a tool that helps you manage changes to your code over time. It keeps track of every little change or update you make, you can always look back at previous versions or undo mistakes if needed.
Features of Git

Version Control Syst...]]></description><link>https://awsdevops1.hashnode.dev/git-github-in-devops</link><guid isPermaLink="true">https://awsdevops1.hashnode.dev/git-github-in-devops</guid><dc:creator><![CDATA[Vijeta Rajane]]></dc:creator><pubDate>Sun, 23 Mar 2025 16:11:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742746273810/cbddcf7e-9a41-4678-bc81-85b0d3d151dc.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-what-is-git">What is Git?</h2>
<p>Git is a tool that helps you manage changes to your code over time. It keeps track of every little change or update you make, you can always look back at previous versions or undo mistakes if needed.</p>
<h2 id="heading-features-of-git">Features of Git</h2>
<ul>
<li><p><strong>Version Control System</strong>: Git keeps track of every change you make to your project files. You can go back to previous versions is any requirement arises.</p>
</li>
<li><p><strong>Repositories</strong>: A Git repository (or repo) is like a project's central hub where everything related to your work is stored and managed. There are two main types:</p>
<ul>
<li><p><strong>Local Repository</strong>: This is a copy of the repository which is stored in your computer. You can work on your project and make changes here.</p>
</li>
<li><p><strong>Remote Repository</strong>: This is stored on a server, like GitHub, where you and others can share and work on a project.</p>
</li>
</ul>
</li>
<li><p><strong>Commits</strong>: Every time you make changes and save them in Git, these are called commits. The repository keeps track of all the commits you have made.</p>
</li>
<li><p><strong>Branches</strong>: A repository allows you to create Branches and work on new features and fixes. For example, you can have a "main" branch for stable code and a "feature" branch for new features you're developing.</p>
</li>
<li><p><strong>Merging</strong>: Once you are done with the branches you have made, you can merge those branches into main branch. This adds the changes you have made in the rest of the project.</p>
</li>
<li><p><strong>Cloning</strong>: Cloning is a process of making a complete copy of Git repository. It's like copying the entire project from central location ( like website) to your own computer.</p>
</li>
</ul>
<h1 id="heading-how-to-create-a-basic-ci-workflow-using-github-actions">How To Create A Basic CI Workflow Using GitHub Actions?</h1>
<p>GitHub Actions is a continuous integration and continuous delivery (CI/CD) feature provided by GitHub that allows you to automate your build, test, and deployment pipeline whenever any changes happen in your repo.</p>
<p>Continuous integration (CI) is a software development practice in which you merge/commit your changes to the main branch many times a day. For every change, you have to deploy the whole project again and again to reflect changes in the production environment. This can lead to a decrease in productivity and repetition of tasks.</p>
<p>To eliminate this we have something called CI/CD workflow which allows us to build &amp; deploy our code automatically if any changes happen in a production environment.</p>
<p>In this article, we will create a basic CI workflow where we will make changes to Static HTML and deploy it automatically if we push modified code on GitHub pages. GitHub actions already provide some pre-build workflow for HTML, Node.js, Python, etc.</p>
<h2 id="heading-what-are-github-actions">What Are Github Actions?</h2>
<p><a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-github-actions/"><strong>GitHub Actions</strong></a> is a platform built into <a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-github/"><strong>GitHub</strong></a> that automates all the <a target="_blank" href="https://www.geeksforgeeks.org/software-development-life-cycle-sdlc/"><strong>SDLC</strong></a> steps like development, testing, and deployment.</p>
<ul>
<li><p><strong>Event:</strong> An event is what gets a GitHub Actions automated pipeline invoked. It can be anything like push, pull, merge, etc</p>
</li>
<li><p><strong>Workflow:</strong> Any of these events can trigger a workflow, this workflow contains all the task you want to perform before deploying your application on your hosted platform.</p>
</li>
<li><p>A workflow is defined in a <a target="_blank" href="https://www.geeksforgeeks.org/what-is-the-difference-between-yaml-and-json/"><strong>YAML</strong></a> file and saved in the .github/workflows directory of your repository.</p>
</li>
<li><p><strong>Jobs:</strong> The things you want the workflow to do are grouped into one or more jobs. Each job is a set of steps that happen in an order that you define.</p>
</li>
<li><p><strong>Actions:</strong> An individual step within a job may consist of a simple shell script, but if you need something more complex, you can also use an action.</p>
</li>
</ul>
<h2 id="heading-what-is-continuous-integration">What Is Continuous Integration?</h2>
<p>Continuous Integration is a development methodology where the developers commit changes to source code in a shared repository. This typically takes place several times a day.</p>
<p>The benefit is that it enables teams to find and resolve issues early in the development process. There are many tools teams can use to implement <a target="_blank" href="https://www.geeksforgeeks.org/what-is-continuous-integration/"><strong>Continuous Integration.</strong></a> Depending on what they choose, there are also other functions developers can take advantage of such as using test servers and providing teams with test results.</p>
<h2 id="heading-creating-ci-workflow-using-github-actions-a-step-by-step-guide">Creating CI Workflow Using GitHub Actions: A Step-By-Step Guide</h2>
<p><strong>Step 1:</strong> Create an Empty <strong>GitHub</strong> <strong>Repository</strong></p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200213/1.png" alt="Creating a github repository" /></p>
<p><strong>Step 2:</strong> Open your project in any text editor. Here I'm taking basic <a target="_blank" href="https://www.geeksforgeeks.org/static-vs-dynamic-website/"><strong>static HTML</strong></a> file with 1 heading and 1 paragraph. You can take anything.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200211/2.png" alt="Creating a Static file" /></p>
<p><strong>Step 3:</strong> Open Git terminal and <strong>Push</strong> your project on the GitHub Repository using following steps.</p>
<ul>
<li><p>Initalize empty <a target="_blank" href="https://www.geeksforgeeks.org/what-is-a-git-repository/"><strong>Git repo</strong></a> using <strong>git init</strong></p>
</li>
<li><p>Add files to staging area using <strong>git add .</strong></p>
</li>
<li><p>Commit your changes using <strong>git commit -m "your message"</strong></p>
</li>
<li><p>Create remote origin using <strong>git remote add origin "repo link"</strong></p>
</li>
<li><p>Push the project using <strong>git push -u origin main</strong></p>
</li>
</ul>
<p>For more detail explanation go through this <a target="_blank" href="https://www.geeksforgeeks.org/ultimate-guide-git-github/"><strong>article</strong></a>.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200212/3.png" alt="Pushing Project With Git" /></p>
<p><strong>Step 4:</strong> Open the <strong>settings</strong> of your repository and go to <strong>Pages</strong>. From the source select <strong>GitHub Actions.</strong> This will allow us to deploy our code using GitHub Actions which will create CI workflow.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200210/4.png" alt="Deploying with github actions" /></p>
<p><strong>Step 5:</strong> Configure a <strong>Static HTML</strong>. This will generate a pre-build workflow for your static HTML file. GitHub provides in-built workflow, for my purposes I'll select static HTML you can choose yours respective workflow.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200211/5.png" alt="Configuring Static HTML Page" /></p>
<p><strong>Step 6:</strong> The following image is the workflow <a target="_blank" href="https://www.geeksforgeeks.org/what-is-the-difference-between-yaml-and-json/"><strong>YAML file</strong></a> that will automate your process of deployment. You change this according to your needs but for now let's just keep it as it is.</p>
<p>This files contains:</p>
<ul>
<li><p><strong>name</strong>: Name of your workflow</p>
</li>
<li><p><strong>on</strong>: Action from which you to automate your task</p>
</li>
<li><p><strong>permission</strong>: Here we provide permissions to read, write our workflow files.</p>
</li>
<li><p><strong>jobs</strong>: This is where your mention all the task you want to automate.</p>
</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200208/6.png" alt="Github Workflow" /></p>
<p><strong>Step 7: Commit</strong> and <strong>push</strong> the file on your branch.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200205/7.png" alt="Commit and Push workflow" /></p>
<p><strong>Step 8:</strong> From the above repo tabs go to <strong>Actions</strong> and check if your app is deployed on <a target="_blank" href="https://www.geeksforgeeks.org/publish-websites-on-github-pages-with-a-custom-domain/"><strong>Github Pages</strong></a> or not. Open the deployment by clicking on the workflow name.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200206/8.png" alt="Checking Deployment Workflow" /></p>
<p><strong>Step 9:</strong> Go to the <strong>link</strong> provided by GitHub this is where your HTML file is deployed.</p>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200207/9.png" alt="Deploying static content" /></p>
<ul>
<li><strong>Step 10:</strong> After opening the link you can see the contents of your HTML file.</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200204/10.png" alt="Successful deployment of static page" /></p>
<p><strong>Step 11:</strong> Now let's check if CI workflow or not. First, <strong>pull</strong> your changes.</p>
<ul>
<li><p><strong>Modify</strong> your code and <strong>push</strong> it on the GitHub.</p>
</li>
<li><p>For every push our workflow will be generated and changes will reflect on your page.</p>
</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200203/11.png" alt="Pull, Modify, and Push code" /></p>
<ul>
<li><strong>Step 12: Wait</strong> for 10-15 seconds and <strong>reload</strong> your site. The new changes will appear on the site.</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240308200202/12.png" alt="Successful deployment of CI Workflow" /></p>
<h2 id="heading-automated-cicd-workflow-flowchart">Automated CI/CD Workflow - FlowChart</h2>
<ul>
<li><p>Push your changes which we be event for our workflow.</p>
</li>
<li><p>All the jobs will be automated which are mentioned in workflow like Checkout, setup app, and upload new code.</p>
</li>
<li><p>Deploy all the changes which is the last job in the workflow.</p>
</li>
<li><p>Keep track of all your logs to check if CI is working or not.</p>
</li>
</ul>
<p><img src="https://media.geeksforgeeks.org/wp-content/uploads/20240314161137/Untitled-Diagramdrawio.png" alt="flowchart of automated CI/CD Workflow" /></p>
]]></content:encoded></item><item><title><![CDATA[AWS (Amazon Web Services)]]></title><description><![CDATA[This AWS, or Amazon Web Service tutorial, is designed for beginners and professionals to learn AWS’s basic and advanced concepts . Learn about the various topics of AWS such as introduction, history of AWS, global infrastructure, features of AWS, IAM...]]></description><link>https://awsdevops1.hashnode.dev/aws-amazon-web-services</link><guid isPermaLink="true">https://awsdevops1.hashnode.dev/aws-amazon-web-services</guid><dc:creator><![CDATA[Vijeta Rajane]]></dc:creator><pubDate>Sat, 08 Mar 2025 19:15:26 GMT</pubDate><content:encoded><![CDATA[<p>This <strong>AWS,</strong> or Amazon Web Service tutorial, is designed for beginners and professionals to <strong>learn AWS’s basic and advanced concepts</strong> . Learn about the various topics of AWS such as introduction, history of AWS, global infrastructure, features of AWS, IAM, storage services, database services, application Services, etc., and other AWS products such as S3, EC2, Lambda, and more. By the end of this tutorial, readers will have a basic understanding of what AWS is and how it can be used to support their computing needs.</p>
<p>AWS or Amazon Web Services, is a cloud computing platform that offers on-demand computing services such as virtual servers and storage that can be used to build and run applications and websites. AWS is known for its security, reliability, and flexibility, which makes it a popular choice for organizations that need to store and process sensitive data.</p>
<h2 id="heading-what-is-amazon-web-service-or-aws">What is Amazon Web Service or AWS</h2>
<p>Amazon Web Services (AWS) is a cloud computing platform offered by Amazon. It provides a wide range of on-demand services like computing power, storage, and databases, allowing businesses to scale and manage their IT resources efficiently. AWS offers services such as EC2 for virtual servers, S3 for scalable storage, RDS for managed databases, and Lambda for serverless computing. By using AWS, companies can reduce infrastructure costs, improve flexibility, and deploy applications globally with ease.</p>
<h2 id="heading-prerequisites-to-learn-aws">Prerequisites to Learn AWS</h2>
<p>Before jumping to the <strong>AWS Tutorial,</strong> it’s recommended to have a basic foundational understanding of operating systems, computer networking, basic coding commands in Linux terminals, and some prior knowledge of cloud computing.</p>
<h2 id="heading-introduction-to-aws"><strong>Introduction</strong> to AWS</h2>
<p>In this section, we are going to describe all about the AWS, like its definition, history, setup and more. So, explore this section to get an introduction of Amazon Web Service.</p>
<h2 id="heading-aws-iam-identity-and-access-management">AWS IAM – Identity and Access Management</h2>
<p>AWS Identity and Access Management (IAM) is a crucial component of the Amazon Web Services (AWS) ecosystem, providing centralized control over user access to AWS resources. With IAM, administrators can securely manage user identities, assign permissions, and control privileges across the AWS environment.</p>
<h2 id="heading-computing-in-aws">Computing in AWS</h2>
<p>Computing in AWS” refers to the utilization of Amazon Web Services (AWS) for various computational tasks and workloads. Here in this section we have listed all the topics AWS.</p>
<h3 id="heading-advantages-of-aws">Advantages of AWS</h3>
<p>Here are Some Advantages of Amazon Web Services are –</p>
<ol>
<li><p><strong>Cost Efficient –</strong> AWS does not necessitate any upfront investment, long-term commitment, or minimum expense for the setup of Cloud Infrastructure.</p>
</li>
<li><p><strong>Flexibility –</strong> AWS offers Effortless hosting of Applications and it provides instant availability of new features and technology.</p>
</li>
<li><p><strong>Scalability –</strong> AWS offer Features like AutoScaling and Elastic Load Balancing and their scale Increase and Decrease according to demand or traffic on the application.</p>
</li>
<li><p><strong>Security –</strong> AWS provides end-to-end encryption technology and privacy to its customers.</p>
</li>
</ol>
<h2 id="heading-aws-certifications">AWS Certifications</h2>
<p><strong>AWS certification</strong> is important because it proves you know how to use Amazon’s cloud services. It helps you get better job opportunities, a higher salary, and stand out from other candidates. Many companies prefer certified professionals since AWS is widely used in tech. It also boosts your skills and career growth.</p>
<p>This <strong>AWS Cloud Practitioner Certification Course</strong> is designed to help beginners understand the basics of cloud computing and get familiar with Amazon Web Services (AWS).</p>
<p>This AWS Certified Cloud Practitioner Exam – Certification Course is perfect if youre looking to start a career in cloud computing or just want to learn about AWS to enhance your current job skills. Here you will learn a clear introduction to what AWS is and how its main services like computing, storage, and databases work.</p>
<h2 id="heading-application-of-aws">Application of AWS</h2>
<p>Amazon Web Services (AWS) is being increasingly adopted by many large enterprises such as Netflix, McDonald’s, Airbnb, NASA, and Samsung to expand their businesses. AWS offers a variety of applications, some of which include:</p>
<ol>
<li><p>Storage and Backup</p>
</li>
<li><p>Social Networking</p>
</li>
<li><p>Mobile Apps</p>
</li>
<li><p>Websites</p>
</li>
<li><p>Gaming</p>
</li>
</ol>
<h2 id="heading-conclusion">Conclusion</h2>
<p>AWS or Amazon Web Services is a powerful cloud computing platform that offers a wide range of on-demand computing services such as virtual servers and storage. This tutorial has provided a brief introduction to cloud computing and given an overview of the various AWS products and services that are available. By the end of this tutorial, readers will have a solid understanding of AWS.</p>
<h3 id="heading-amazon-web-service-aws-is-the-worlds-most-comprehensive-and-broadly-adopted-cloud-platform-offering-over-200-fully-featured-services-from-data-centers-globally-millions-of-customers-including-the-fastest-growing-startups-largest-enterprises-and-leading-government-agencies-are-using-aws-to-lower-costs-become-more-agile-and-innovate-faster-aws-offers-new-subscribers-a-12-month-free-tier-to-get-hands-on-experience-with-all-aws-cloud-services"><code>Amazon Web Service (AWS) is the world’s most comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally. Millions of customers, including the fastest-growing startups, largest enterprises, and leading government agencies, are using AWS to lower costs, become more agile, and innovate faster. AWS offers new subscribers a 12-month free tier to get hands-on experience with all AWS cloud services.</code></h3>
<h2 id="heading-aws-free-tier-account">AWS Free tier Account</h2>
<p>Because AWS offers a free tier with no upfront expenses, it’s the ideal place to start your cloud care journey if you’re new to cloud services. You can build simple applications, acquire new skills, and experiment for free with some of AWS’s services. Following are some of the services which are offered by AWS.</p>
<ul>
<li><p><strong>Compute:</strong> <a target="_blank" href="https://www.geeksforgeeks.org/amazon-ec2-creating-an-elastic-cloud-compute-instance"><strong>AWS EC2 instance</strong></a>.</p>
</li>
<li><p><strong>Storage:</strong> <a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-aws-elastic-block-storeebs"><strong>AWS EBS</strong></a>, <a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-aws-elastic-file-systemefs"><strong>EFS,</strong></a> and <a target="_blank" href="https://www.geeksforgeeks.org/introduction-to-aws-simple-storage-service-aws-s3"><strong>S3</strong></a> are the storage services offered by AWS</p>
</li>
<li><p><strong>Databases:</strong> AWS offers databases as a service like <a target="_blank" href="https://www.geeksforgeeks.org/amazon-rds-introduction-to-amazon-relational-database-system"><strong>AWS RDS</strong></a>, <a target="_blank" href="https://www.geeksforgeeks.org/amazon-aurora"><strong>Amazon Aurora</strong></a>, and so on.</p>
</li>
<li><p><strong>Networking:</strong> <a target="_blank" href="https://www.geeksforgeeks.org/amazon-vpc-introduction-to-amazon-virtual-cloud"><strong>AWS VPC</strong></a> and <a target="_blank" href="https://www.geeksforgeeks.org/how-to-set-up-a-nat-gateway-for-a-private-subnet-in-amazon-vpc"><strong>AWS Subnet</strong></a> are the networking services offered by AWS.</p>
</li>
<li><p><strong>Management Tools:</strong> Free use of the Management Console and <a target="_blank" href="https://www.geeksforgeeks.org/how-to-install-aws-cli-on-ubuntu/"><strong>CLI for AWS</strong></a> resource management.</p>
</li>
<li><h1 id="heading-eligibility-for-the-aws-free-tier">Eligibility for the AWS Free Tier</h1>
<p>  The AWS Free Tier offers limited access to various AWS services for new AWS customers to explore and try out the platform at no cost for a specified period. Eligibility criteria for the free tier include:</p>
<ul>
<li><p><strong>New AWS Customers</strong>: Anyone who signs up for an AWS account for the first time.</p>
</li>
<li><p><strong>Limited Time</strong>: The Free Tier is available for 12 months after sign-up and varies by service. Some services have ongoing free tiers beyond the first year.</p>
</li>
<li><p><strong>Usage Limits</strong>: Each service within the Free Tier has usage limits. As long as your usage stays within these limits, you won’t incur any charges.</p>
</li>
<li><p><strong>Service-Specific Limits</strong>: Different services have different usage limits. For example, Amazon EC2 provides a certain number of hours of compute time, while Amazon S3 offers a limited amount of storage.</p>
</li>
<li><p><strong>Geographic Availability</strong>: The Free Tier is available worldwide, but certain services or features might not be available in all regions.</p>
</li>
<li><p><strong>Payment Method</strong>: You must have a valid payment method on file when signing up. However, you won’t be charged unless you exceed the Free Tier limits.</p>
</li>
<li><p><strong>Account Verification</strong>: You need to verify your identity to access the Free Tier.</p>
</li>
<li><p><strong>Educational Institutions</strong>: Students and educators can also access the <a target="_blank" href="https://www.geeksforgeeks.org/aws-educate-starter-account/"><strong>AWS Educate program,</strong></a> which provides additional benefits and credits for learning purposes.</p>
</li>
</ul>
</li>
</ul>
<h2 id="heading-steps-to-creating-a-free-tier-aws-account">Steps to Creating a Free tier AWS Account</h2>
<h3 id="heading-step-1-sign-up-for-an-aws-account"><strong>Step 1:</strong> Sign Up for an AWS Account</h3>
<ul>
<li>Open AWS Sign-up Page in any browser.</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20230406122206/Screenshot-_284_-(1)-(1).webp" alt="AWS Login Console " /></p>
<ul>
<li><p>Enter your email address and AWS account name.</p>
</li>
<li><p>Click “Verify Email Address” and enter the verification code received in your email.</p>
</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20220701113242/AWS1.png" alt="Sign up page for AWS" /></p>
<h3 id="heading-step-2-set-root-user-password"><strong>Step 2:</strong> Set Root User Password</h3>
<ul>
<li><p>Enter and confirm the Root user password.</p>
</li>
<li><p>Click “Continue (step 1 of 5)”.</p>
</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20220913154001/aws.png" alt="Set Root User Password" /></p>
<h3 id="heading-step-3-account-type-selection"><strong>Step 3:</strong> Account Type Selection</h3>
<ul>
<li><p>Choose “Personal – for your own projects”.</p>
</li>
<li><p>Fill in personal details like full name, contact number, country, and address.</p>
</li>
<li><p>Click “Continue (Step 2 of 5)”.</p>
</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20220913153239/GFGAWS1.png" alt="Account Type Selection" /></p>
<h3 id="heading-step-4-billing-information"><strong>Step 4:</strong> Billing Information</h3>
<ul>
<li><p>Enter billing details.</p>
</li>
<li><p>Click “Verify and Continue”.</p>
</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20230406152739/Screenshot-(292)-(1).webp" alt="Billing Information " /></p>
<h3 id="heading-step-5-identity-verification"><strong>Step 5:</strong> Identity Verification</h3>
<ul>
<li><p>Confirm identity via mobile number or email.</p>
</li>
<li><p>Enter verification code.</p>
</li>
<li><p>Click “Continue”.</p>
</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20230406145106/Screenshot-(295).webp" alt="Identity verification " /></p>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20230406145441/Screenshot-(296).webp" alt="Code verification " /></p>
<h3 id="heading-step-6-select-support-plan"><strong>Step 6:</strong> Select Support Plan</h3>
<ul>
<li><p>Choose “Basic Support – Free”.</p>
</li>
<li><p>Click “Continue”.</p>
</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20230406153618/Screenshot-(297)-(1).webp" alt="Support plan " /></p>
<h3 id="heading-step-7-account-confirmation"><strong>Step 7:</strong> Account Confirmation</h3>
<ul>
<li>AWS account is successfully created and ready for use.</li>
</ul>
<p>    <img src="https://media.geeksforgeeks.org/wp-content/uploads/20230406151317/Screenshot-(298)-(1).webp" alt="Aws account created" /></p>
<h2 id="heading-benefits-of-aws-free-tier-account">Benefits of AWS Free tier Account</h2>
<ul>
<li><p><strong>Hands-On Experience:</strong> Users can experience cloud services firsthand in a risk-free and realistic setting with the AWS Free Tier. This is very helpful for people who are just learning about <a target="_blank" href="https://www.geeksforgeeks.org/what-are-the-important-aws-cloud-services/"><strong>AWS and cloud computing.</strong></a></p>
</li>
<li><p><strong>Cost-Efficient Learning:</strong> New users can expose to new services of AWS with out thinking about the cost. Which makes it cost efficient.</p>
</li>
<li><p><strong>Wide Range of Services:</strong> AWS offers wide range of services where a new user can explore different services can experience the real use of cloud computing.</p>
</li>
<li><p><strong>Scalability Testing:</strong> Users can test there applications by deploying it in <a target="_blank" href="https://www.geeksforgeeks.org/aws-tutorial/"><strong>AWS.</strong></a> They can test the application in different environments and in different conditions.</p>
</li>
<li><p><strong>Hosting Small Applications:</strong> Small applications can hosted on AWS for free as long as they adhere to the Free Tier usage restrictions.</p>
</li>
</ul>
<h2 id="heading-applications-of-aws-free-tier-limit">Applications of AWS Free tier Limit</h2>
<p>    Following are the some of the applications of AWS free tier limit.</p>
<ul>
<li><p><strong>Learning and Training:</strong> Students and the professionals who are new to AWS can learn using AWS free tier. Through practical experience with cloud services, it enables users to investigate and comprehend AWS services, infrastructure, and best practices.</p>
</li>
<li><p><strong>Development and Testing:</strong> Developers can use AWS free tier account to test there application in different environments with out incurring cost.</p>
</li>
<li><p><strong>Startup and MVP Development:</strong> The AWS Free Tier is a useful tool for startups and entrepreneurs to create early-stage prototypes or minimal viable products (MVPs).</p>
</li>
<li><p><strong>Technical Certifications:</strong> The students who want to attend <a target="_blank" href="https://www.geeksforgeeks.org/how-to-become-an-aws-solutions-architect/"><strong>aws solution architect associate exam</strong></a> can use AWS free tier account full fledged to prepare for the exam.</p>
</li>
</ul>
]]></content:encoded></item></channel></rss>