作者:草莓顽子该_589 | 来源:互联网 | 2023-10-15 14:14
Docker系列 七. Docker 安装Jenkins
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
1 查看可用的 Jenkins 版本
地址 : https://hub.docker.com/_/jenkins?tab=tags
在上面可以看到最后一个版本是两年前的一个版本(2.60.3),现在已经更新到2.249.1显然不是最新版本,那么我们需要进行升级。
2 取最新版的 jenkins 镜像
这里我们拉取官方的最新版本的镜像:
docker pull jenkins:latest
# 也可以使用 默认获取最新版本的镜像
docker pull jenkins
[root@iZbp13dilgxismwsd349o7Z ~]# docker pull jenkins
Using default tag: latest
latest: Pulling from library/jenkins
55cbf04beb70: Pulling fs layer
1607093a898c: Pulling fs layer
55cbf04beb70: Downloading [==============================> ] 27.99MB/45.31MB
d4eee24d4dac: Downloading [==========> ] 10.16MB/50.06MB
c58988e753d7: Download complete
794a04897db9: Waiting
70fcfa476f73: Waiting
0539c80a02be: Waiting
3、查看本地镜像
使用以下命令来查看是否已安装了 jenkins:
docker images
4、运行容器
安装完成后,我们可以使用以下命令来运行 jenkins 容器:
docker run -d -p 9100:8080 -v /root/jenkins:/var/jenkins_home
--name jenkins --restart=always jenkins
将jenkins_home挂载到/root/jenkins下,需要对其设置权限。
sudo chown -R 1000 jenkins/
然后查看容器启动日志以及运行状态
# 查看容器日志docker logs -f jenkins# 查看容器运行docker ps
进入容器(说是通过root才可以进行一些操作):
docker exec -it -u root jenkins /bin/bash
升级方法
首先在宿主机上找到jenkins位置
[root@localhost config]# whereis jenkins
jenkins: /usr/local/jenkins
在/usr/local/jenkins目录中下载最新版本的jenkins
cd /usr/local/jenkins
wget http://mirrors.jenkins.io/war/latest/jenkins.war
进入容器,进行jenkins war包的替换,不放心的话,可以先备份下旧的jenkins.war
[root@iZbp13dilgxismwsd349o7Z ~]# docker exec -it -u root jenkins /bin/bash
root@a28bb1e5cffe:/# whereis jenkins
jenkins: /usr/local/bin/jenkins.sh /usr/share/jenkins
root@a28bb1e5cffe:/# cd /usr/share/jenkins/
root@a28bb1e5cffe:/usr/share/jenkins# ls
jenkins.war ref
root@a28bb1e5cffe:/usr/share/jenkins# mv jenkins.war jenkins.war.bak
root@a28bb1e5cffe:/usr/share/jenkins# ls
jenkins.war.bak ref
我们就是要替换/usr/share/jenkins目录下的jenkins.war包,退到宿主机,执行docker cp命令
[root@localhost workspace]# docker cp /usr/local/jenkins/jenkins.war jenkins:/usr/share/jenkins/
重启docker容器
docker restart jenkins
后续项目打包部署可以参考 springboot 使用Jenkins实现自动化部署