Docker安装Jenkins
Jenkins 中文官网:https://www.jenkins.io/zh/
1、查询镜像
# 查询镜像
$ docker search jenkins
2、下载镜像
# 下载镜像
# 下载最新版本
# docker pull jenkins/jenkins
# 下载指定版本
$ docker pull jenkins/jenkins:2.414.3
3、启动Jenkins容器
创建挂载文件夹,并且进行文件权限授予:
# 创建文件夹
mkdir -p /home/jenkins_home
# 权限
chmod 777 /home/jenkins_home
# 启动
$ docker run -d -u root -p 9090:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins:2.414.3
命令 | 描述 |
---|---|
-d | 后台运行容器,并返回容器ID |
-u root | 使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误 |
-p 9090:8080 | 将容器内8080端口映射至宿主机9090端口,这个是访问jenkins的端口 |
-p 50000:50000 | 将容器内50000端口映射至宿主机50000端口 |
–name jenkins | 设置容器名称为jenkins |
-v /home/jenkins_home:/var/jenkins_home | /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录 |
-v /etc/localtime:/etc/localtime | 让容器使用和服务器同样的时间设置 |
jenkins/jenkins | 镜像的名称,这里也可以写镜像ID |
# 查看进程
$ docker ps
$ docker logs jenkins
期间可能会进行重启容器,重启命令如下:
$ docker restart jenkins
4、浏览器访问
http://192.168.244.165:9090
获取密码:
# 本地服务器
$ cat /home/jenkins_home/secrets/initialAdminPassword
142d84156e8e4feda345d54f7e4343c1
# 或者
$ docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
142d84156e8e4feda345d54f7e4343c1
输入密码,进行下一步:
选择推荐插件安装:
插件安装完成,创建管理员用户:
至此,Jenkins安装完成。
5、安装需要插件
Jenkins 启动成功之后,接下来我们安装三个必要的插件:
-
安装 Maven Integration:Maven 构建工具。
-
安装 Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上,如果不需要远程推
送,不用安装。
-
Gitee:协助使用 Gitee 仓库,如果使用Gitee码云,安装插件Gitee(自带 Git不用单独安装)。
进入【首页】–【系统管理】–【插件管理】—【可选插件】,搜索 Maven Integration,Publish Over SSH,
Gitee 进行安装,安装之后的效果:
还需要安装 Multiple SCMs plugin:
下载完成之后需要重启 jenkins(可以通过命令或者是点击网页上的重启)。
6、环境配置
进入【首页】–【系统管理】–【全局工具配置】。
6.1 Maven配置
将宿主机中的 maven 拷贝到 Jenkins 容器中:
# 查看本地文件和目录
$ ls maven/
apache-maven-3.3.9 m2
# 拷贝
$ docker cp maven jenkins:/opt/
# 查看容器文件和目录
$ docker exec jenkins ls /opt/maven
apache-maven-3.3.9
m2
# /opt/maven/apache-maven-3.3.9是MAVEN_HOME
# 对mvn设置软连接
$ docker exec jenkins ln -s /opt/maven/apache-maven-3.3.9/bin/mvn /usr/sbin/mvn
# 查看版本
$ docker exec jenkins mvn -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /opt/maven/apache-maven-3.3.9
Java version: 17.0.8.1, vendor: Eclipse Adoptium
Java home: /opt/java/openjdk
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
6.2 JDK配置
# 查看本地文件和目录
$ ls java/
jdk1.8
# 拷贝
$ docker cp java jenkins:/opt/
# 查看容器文件和目录
$ docker exec jenkins ls /opt/java
jdk1.8
openjdk
# /opt/java/jdk1.8是JAVA_HOME
# 查看版本
$ docker exec jenkins /opt/java/jdk1.8/bin/java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
6.3 Git配置
由于 Jenkins 容器中已经存在 git 了,所以这里不需要额外安装 git,默认即可。
$ docker exec jenkins git version
git version 2.39.2
$ docker exec jenkins which git
/usr/bin/git
点击保存完成配置。
7、创建任务
点击【首页】—【新建任务】,输入任务名称,点击【构建一个多配置项目】。
进行下面的配置:
点击保存,完成项目配置。
下面就可以运行项目了:
进入容器查看:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68268e74ba86 jenkins/jenkins:2.414.3 "/usr/bin/tini -- /u…" 46 minutes ago Up 29 minutes 0.0.0.0:50000->50000/tcp, 0.0.0.0:9090->8080/tcp jenkins
$ docker exec -it 68268e74ba86 /bin/bash
root@68268e74ba86:/# cd /var/jenkins_home/workspace/first_jenkins
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins# ls
default pom.xml src
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins# cd default/
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default# ls
pom.xml src target
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default# cd target/
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default/target# ls
classes jenkins_demo-0.0.1-SNAPSHOT.jar maven-status
generated-sources jenkins_demo-0.0.1-SNAPSHOT.jar.original surefire-reports
generated-test-sources maven-archiver test-classes
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default/target# exit
exit
至此,完成。