General concepts Jenkins
What is Jenkins?
Jenkins is an open-source automation server used to build, test, and deploy software projects. It provides a web-based interface for managing and monitoring build jobs, as well as integration with a wide variety of tools and plugins to support continuous integration and continuous delivery (CI/CD) processes. Jenkins can be installed on a variety of platforms and can be configured to work with many different programming languages and tools.
What is Continuous Integration (CI)?
Continuous Integration (CI) is a software development practice in which developers frequently merge their code changes into a shared repository, and each merge triggers an automated build and testing process. The goal of CI is to detect and fix integration issues early in the development cycle, before they become more difficult and costly to resolve. By automatically building and testing code changes, CI ensures that each new feature or fix is integrated with the existing codebase in a consistent and reliable manner, reducing the risk of defects and improving overall software quality.
What is Continuous Delivery (CD)?
Continuous Delivery (CD) is a software development practice that extends Continuous Integration (CI) by automating the entire software release process, from building and testing to deployment and delivery. The goal of CD is to ensure that software changes can be reliably and quickly delivered to users in a production environment, with minimal risk and without human intervention. CD accomplishes this by automating the process of building, testing, and deploying applications, and by using techniques such as canary deployments, blue-green deployments, and feature flags to manage the release of new features and changes in a controlled and safe manner. The result is a faster and more reliable delivery of high-quality software to end-users.
What is Continuous Deployment (CD)?
Continuous Deployment (CD) is a software development practice that extends Continuous Integration (CI) and Continuous Delivery (CD) by automating the deployment of changes to a production environment without any human intervention. In other words, while CI ensures that code changes are automatically built and tested, and CD ensures that the changes are prepared for deployment, Continuous Deployment automates the actual deployment of those changes to a production environment. This allows software changes to be delivered quickly and frequently, with minimal delay and risk, and with a high degree of confidence in their quality. Continuous Deployment requires a robust set of tests and quality assurance practices to ensure that only high-quality changes are deployed automatically, and it is often used in combination with techniques such as canary deployments and feature flags to manage the release of changes in a controlled and safe manner.
Install Jenkins
Download Jenkins from jenkins.io and read the Java version required to proced to install it.
Open a terminal in the directory the jenkins.war is and introduce the following command to run the server:
java -jar jenkins.war
Now you can open it at "localhost:8080", the first time a password will be required, that password is in the terminal where the server is running.
Then, you can choose the option to Install the recommended plugins.
Create the user:
In my images you can find some Spanish words, that's because Jenkins take the language settings from the web browser, but if it would necessary, you can force and specific language, here the instructions (for spanish speaking users).
Finally, your dashboard will look like this:
Thanks for reading :)
I invite you to continue reading other entries and visiting us again soon.