Jenkins 介绍
一款开源CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
支持系统包、Docker或者通过一个独立的Java程序。
与开发并行,而无需等待项目完成上线
由图示可知,Jenkins安装需要Java、git、maven、tomcat环境,所以在服务器中部署需要安装前置环境,但是支持docker部署,所以有docker环境会省不少事情
按照官网直接docker run命令,
Blue Ocean 是 Jenkins 的一个插件,它重新设计了 Jenkins 的 UI,使其更加现代化、直观,特别适合可视化流水线(Pipeline)的构建过程。jenkinsci/blueocean 镜像是一个 预装了 Blue Ocean 插件的 Jenkins 镜像,它包含了:- Jenkins 核心- Blue Ocean 插件- 其他常用插件(如 Git、Docker 等)- 更适合现代 CI/CD 工作流
docker run \ -u root \ --rm \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean
但是搜索了下网上的教程,和官网不一致,是不包含任何插件的Jenkins,镜像会更小
可参考
-
docker拉取镜像
docker pull jenkins/jenkins:版本号-lts
指定版本,否则拉取的镜像是比较老的版本 | lts:long-term support 长期支持 -
创建挂载目录
// 创建目录mkdir -p /var/jenkins_data// 授权权限chmod 777 /var/jenkins_data
- 启动Jenkins容器
docker run \ -u root \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v /var/jenkins_data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ --name myjenkins \ jenkins/jenkins:版本号-lts
-d
:后台运行容器
-p 8080:8080\
:端口映射,第一个数字代表主机上的端口,而最后一个代表容器端口,8080是Jenkins Web 界面的工作端口,50000是JNLP(Java Network Launch Protocol)工作端口
若主机端口被占用,换为闲置端口即可
-v /var/jenkins_data:/var/jenkins_home
:目录挂载,持久化数据到主机的 /var/jenkins_data 目录,可以按需修改
v /var/run/docker.sock:/var/run/docker.sock
:允许 Jenkins 调用宿主机 Docker
- 查看Jenkins是否启动成功
docker ps -l
参考应用: