Jenkins

Jenkins is an open-source automation server that can be used to automate parts of the software development process, including building, testing, and deploying applications.

Jenkins CI/CD

Jenkins is often used in conjunction with continuous integration (CI) and continuous delivery (CD) practices. CI is a process of automating the building, testing, and integration of code changes on a regular basis. CD is a process of automating the deployment of code changes to production on a regular basis.

enkins can be used to create and manage CI/CD pipelines. A pipeline is a sequence of steps that are executed in order to build, test, and deploy an application. Jenkins pipelines can be defined using a variety of tools, such as the Jenkinsfile or the Jenkins Pipeline Builder.

Jenkins is a popular choice for CI/CD because it is open-source, extensible, and easy to use. It also has a large community of users and contributors who provide support and plugins.

Installing Jenkins with Docker

We need to use the following docker-compose:

version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./jenkins_home:/var/jenkins_home
    restart: always

Remember to check the logs for the first time password:

docker logs <containerid>
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

or directly in the container’s log looking in Portainer.