Getting Started with Jenkins: #Day-22

-: Overview of Jenkins:-

Jenkins:

Jenkins is a Java-based open-source automation platform(server) with plugins designed for continuous integration processes in an automated fashion.

Jenkins used for what?

-Jenkins is used to build and test your product continuously, so developers can continuously integrate changes into the build.
-Jenkins is the most popular open-source CI/CD tool on the market today and is used in support of DevOps, alongside other cloud-native tools.

Why Jenkins came into the picture?

Jenkins came into the picture to address the challenges in software development, such as repetitive tasks, manual interventions, and inconsistent build and deployment processes.
As software projects grew in complexity, manual tasks like building, testing, and deploying code became time-consuming and error-prone. Its flexibility, extensibility, and ability to integrate with various tools made it a popular choice for teams seeking to improve their development workflows and deliver software faster and with higher quality.
Jenkins emerged as an open-source solution that offered developers a way to automate tasks, integrate different tools, and establish continuous integration and continuous delivery (CI/CD) pipelines. This helped teams achieve faster development cycles, better collaboration, and more reliable software releases.

Continuous Integration:

Continuous integration is a procedure to integrate all the code changes done by several developers in one project. A code is repeatedly tested after a commit to guarantee the code is error and bug-free.

Continuous Deployment:

Continuous Deployment aims at continuously releasing the code changes into the production environment.

Continuous deployment | Atlassian

Continuous Delivery:

Continuous Delivery is a software engineering practice where the code changes are prepared to be released.

Understanding Continuous Delivery | TeamCity CI/CD Guide | JetBrains

📌Tasks:

  1. Create a freestyle pipeline to print "Hello World!! Hint: Use this link for Article
  • Create an instance in ec2-server named as jenkins-server

  • Install Jenkins on your Ubuntu server by following link:

    https://www.jenkins.io/doc/book/installing/linux/

  • Install Java once Jenkins got installed

  • Start Jenkins service - systemctl start jenkins

  • Enable port 8080 on your ec2 instance and access the URL to get the Jenkins UI page
    http://{ec2-public-dns}:8080

  • Log in using the username admin and to get the initial admin password go to this location on your Jenkins server created on ec2 and run the command:
    sudo cd /var/lib/jenkins/secrets/initialAdminPassword

  • Copy the password and paste it to the URL page at the Administrator password options below

    How to Install and configure the Jenkins on Ubuntu 22.04

  • Once you unlock Jenkins, customize and prepare the Jenkins environment:

    1. Click the Install suggested plugins button to have Jenkins automatically install the most frequently used plugins.

    Selecting the Install suggested plugins option

    2. After Jenkins finishes installing the plugins, enter the required information on the Create First Admin User page. Click Save and Continue to Proceed.

    Adding a new administrator user

    3. On the Instance Configuration page, confirm the port number you want Jenkins to use and click Save and Finish to finish the initial customization.

    Verifying the port number for Jenkins

    4. Click the Start using Jenkins button to move to the Jenkins dashboard.

    Opening the Jenkins dashboard

    5. Using the Jenkins dashboard, click Create New Item

    1. Name the item of name and click on the Freestyle project

    2. Add a description regarding your project

    3. Add build steps and select "Execute shell"

    4. Save and click on "Build Now"

    5. See the console output once the build is triggered, click on the build number to view the console output of the echo command.

The above task is just for beginners to understand the build process and pipelines through Jenkins and how Jenkins works.

There would be intermediate and advanced levels of Jenkins pipelines with other tools integrations. Stay tuned to see the deep and detailed information for the next project. Happy Learning !!!😊