Jenkins
Jenkins
安装
Jenkins支持多种安装方式,不限于Mac系统、Linux系统,由于Docker容器技术的普及,这里更加推荐使用容器安装。 具体可以参考官网安装说明
Mac系统
在Mac系统中,Jenkins的安装可以借助brew
工具,例如:
## 安装
brew install jenkins-lts
## M1芯片添加arch -arm64 安装
arch -arm64 brew install jenkins-lts
## 启动
brew services start jenkins-lts
## 重启
brew services restart jenkins-lts
## 手动更新
brew upgrade jenkins-lts
Linux系统
基于apt-get进行安装,LTS
(长期支持)版本 每 12 周从常规版本流中选择一次作为该时间的稳定版本时期
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
## 软件更新
sudo apt-get update
## 安装jenkins
sudo apt-get install jenkins
基于yum进行安装,安装LTS
(长期支持)版本 ,每 12 周从常规版本流中选择一次作为该时间的稳定版本时期
sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
## 软件更新
sudo yum upgrade
## 安装jenkins需要的jdk
sudo yum install fontconfig java-17-openjdk
## 安装jenkins
sudo yum install jenkins
## 重新加载配置
sudo systemctl daemon-reload
在Linux系统中安装完成后,可以对jenkins服务进行管理,设置开机提供、维护服务状态等,例如:
## 设置开机重启
sudo systemctl enable jenkins
## 启动
sudo systemctl start jenkins
## 暂停
sudo systemctl stop jenkins
## 重启
sudo systemctl restart jenkins
## 查看服务状态
sudo systemctl status jenkins
容器安装
使用Docker安装,注意文件映射,执行命令:
## docker安装jenkins
docker run \
--name jenkins-blueocean \
--restart=on-failure \
-d \
--env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client \
--env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 \
--publish 50000:50000 \
--volume jenkins-data:/var/jenkins_home \
--volume jenkins-docker-certs:/certs/client:ro \
jenkins/jenkins
使用Docker-Compose安装,配置如下:
# #
# 支持服务:
# - Jenkins 端口映射 8080(连接端口) 50000(管理端口)
# #
# #
# 运行指令:
# - 统一刷新启动 docker-compose up -d
# - 挂掉 docker-compose down
# - 重启 docker-compose restart
# #
version: '3'
services:
jenkins:
image: jenkins/jenkins
container_name: jenkins
# 权限问题 使用root用户
user: root
privileged: true
hostname: jenkins_dev
restart: unless-stopped
ports:
- '6080:8080'
- '6081:50000'
volumes:
- /etc/localtime:/etc/localtime:ro
- $(pwd)/jenkins:/var/jenkins_home
# 支持容器内使用Mac本机docker服务
# - /usr/bin/docker:/usr/bin/docker
# - /var/run/docker.sock:/var/run/docker.sock
environment:
JENKINS_OPTS: --prefix=/jenkins
JENKINS_ARGS: --prefix=/jenkins
不论使用Docker还是Docker-Compose安装Jenkins服务,都会启动Jenkins容器服务,对于容器可以使用一些常用的命令进行管理,例如:
## 启动
docker start jenkins
## 停止
docker stop jenkins
## 重启
docker restart jenkins
## 查看容器信息
docker inspect jenkins
## 查看容器日志
docker logs jenkins
## 集群管理
docker-compose up -d
docker-compose down
docker-compose start jenkins
除了使用官方提供的jenkins镜像,还可以自定义镜像,这个在jenkins官网有详细说明, 这里基于jenkins镜像构建的核心功能提供对应的Dockerfile
配置。 自定义jenkins镜像可以基于此来拓展,参考:
FROM jenkins/jenkins:2.426.2-jdk17
## 设置管理用户
USER root
## 安装核心依赖
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
## 运行插件
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
配置完成后,可以使用docker build
命令构建,例如:
## 构建自定义jenkins镜像
docker build -t jenkins .
使用
当Jenkins服务正常启动后,Jenkins默认暴露8080
和50000
两个端口,在浏览器中访问http://127.0.0.1:8080即可Jenkins网站
这里需要明白,Jenkins的端口也可以自定义或者进行端口映射
按照提示到目标路径下,找对对应的初始化密码,粘贴到输入框中就可以顺利使用Jenkins啦
如果是本机部署,在终端中执行命令,打印密码
## 对应
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
如果是Docker容器部署,需要进入容器找到对应文件,打印密码。例如:
## 进入容器
docker exec -it jenkins sh
## 打印密码
cat /var/jenkins_home/secrets/initialAdminPassword
## 退出容器
exit
上面的命令也可以精简为:
sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword