Jenkins can be installed in different ways (locally in a docker container, in an EC2 instance, Azure VM etc..,) which is clearly described in the official documentation below,
To learn Jenkins, it is always better to setup the environment locally. Using docker is one of the convenient methods to run jenkins, since the container can be deleted any time and started a fresh, if anything is misconfigured or not working, while we explore.
Steps to run Jenkins in Docker:
1. Create a new folder and save the below docker-compose.yaml.
version: '3.7'
services:
jenkins:
image: jenkins/jenkins:lts
privileged: true
user: root
ports:
- 8081:8080
- 50000:50000
container_name: jenkins
volumes:
- "./jenkins_config:/var/jenkins_home"
- "/var/run/docker.sock:/var/run/docker.sock"
- "/usr/bin/docker:/usr/bin/docker"
Below command is used to start the jenkins server in port 8081 in docker.
docker compose -f <docker-compose-file> up --build -d
Once the jenkins is successfully up and running, execute the command "docker ps -a", would yield the below output,
C:\Anbu\Jenkins>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME
5686cb9255be jenkins/jenkins:lts "/sbin/tini -- /usr/…" 14 seconds ago Up 12 seconds 0.0.0.0:50000->50000/tcp, 0.0.0.0:8081->8080/tcp jenkins
Logs of the jenkins container:
C:\Anbu\Jenkins>docker logs -f 5686cb9255be
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
2021-12-22 07:44:59.975+0000 [id=1] INFO hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
7c63e931bd864d94b8739788d03e29c9
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
2021-12-22 07:45:33.479+0000 [id=66] INFO h.m.DownloadService$Downloadable#load: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Launch Jenkins in your browser by opening the link http://localhost:8081. It will walk you through the initial one time setup. Provide the password printed in the logs to start with the setup and install all the recommend plugins.
Optionally, use the below command inside the Jenkins container to install the AWS CLI, if you are deploying your stack in AWS.
apt-get install -y \
jq \
groff \
python3-pip \
python &&\
pip install --upgrade \
pip \
awscli
Jenkins Plugin:
Plugin adds extra capabilities to Jenkins and helps us in building the Jenkins file to automate our process. Notable Jenkins plugin are,
- pipeline - used to code declarative pipeline
- pipeline utility - contains utility functions like unzip, zip.
- docker - used to build docker images in the pipeline.
- Amazon ECR - to push the docker images to AWS ECR.
Please refer to the pipeline syntax (official documentation) for building Jenkins file.
A Sample Spring boot Microservices project with Jenkins Pipeline is available in this link for reference.
Comments
Post a Comment