第一步

 docker search jenkins

docker jenkins安装配置 docker jenkins jdk_maven

第二步

pull一个jenkins镜像



# docker pull jenkins/jenkins:2.222.3-centos



下载需要等一些时间

第三步

下载完 通过 docker images

docker jenkins安装配置 docker jenkins jdk_运维_02

 第四步



需要修改下目录权限,因为当映射本地数据卷时,/data/jenkins_home/目录的拥有者为root用户,

而容器中jenkins用户的 uid 为 1000。

我们创建一个jenkins目录

# mkdir /home/jenkins_home

# chown -R 1000:1000 /home/jenkins_home/

# chown -R 1000:1000 /usr/local/src/jdk/jdk1.8/

# chown -R 1000:1000 /opt/apache-maven-3.5.0/




docker jenkins安装配置 docker jenkins jdk_docker_03

第五步 构建Jenkins容器

# docker run \
-d \
--name jenkins \
-p 9999:8080 \
-p 8888:8888 \
-p 50000:50000 \
-v /usr/local/src/jdk/jdk1.8:/usr/local/src/jdk/jdk1.8 \
-v /opt/apache-maven-3.5.0:/opt/apache-maven-3.5.0 \
-v /home/jenkins_home:/var/jenkins_home \
jenkins/jenkins:2.222.3-centos
 
 
docker run \
-d \
--name jenkins \
-p 8850:8080  jenkins:latest
-v /usr/local/src/jdk/jdk1.8:/usr/local/src/jdk/jdk1.8 \
-v /usr/local/apache-maven-3.6.3:/usr/local/apache-maven-3.6.3 \
-v /home/jenkins_home:/var/jenkins_home \
jenkins:latest



说明:

docker run \

  -d \  # 标识是让 docker 容器在后台运行

  --name my-jenkins \   # jenkins名字

  -p 9999:8080 \  # jenkins的默认端口

  -p 8888:8888 \ 

  -p 50000:50000 \

  -v /usr/local/src/jdk/jdk1.8:/usr/local/src/jdk/jdk1.8 \  # jdk的数据卷

  -v /opt/apache-maven-3.5.0:/opt/apache-maven-3.5.0 \  # maven的数据卷

  -v /home/jenkins_home:/var/jenkins_home \ # jenkins工作空间目录

  jenkins/jenkins:2.222.3-centos  # 构建jenkins容器基于的镜像及版本

 

创建完通过 docker ps -a

docker jenkins安装配置 docker jenkins jdk_运维_04

第六步

进入容器内部 docker exec -it my-jenkins bash

docker jenkins安装配置 docker jenkins jdk_运维_05

执行:cat /var/jenkins_home/secrets/initialAdminPassword

docker jenkins安装配置 docker jenkins jdk_docker_06

 

第七步

访问你服务ip+配置Jenkins端口9999(http://192.168.56.103:9999/)

输入刚才那个密码完成

第八步

配置 Jenkins

打开 Jenkins

通过浏览器访问 http://192.168.56.103:9999/(注意替换成你自己的IP和端口)进入初始页,如果 Jenkins 还没有启动完成,会显示如下内容

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_07

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_08

这里要求输入初始的管理员密码,根据提示密码在/var/jenkins_home/secrets/initialAdminPassword这个文件中,注意这个路径是 Docker 容器中的,所以我们通过如下命令获取一下

# docker exec my-jenkins cat /var/jenkins_home/secrets/initialAdminPassword

85770376692448b7b6a8e301fb437848

别忘了我们映射了本地数据卷/home/jenkins_home/,所以也可以通过如下命令输出

# cat /home/jenkins_home/secrets/initialAdminPassword

85770376692448b7b6a8e301fb437848

docker jenkins安装配置 docker jenkins jdk_maven_09

docker jenkins安装配置 docker jenkins jdk_maven_10

docker jenkins安装配置 docker jenkins jdk_运维_11

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_12

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_13

第九步

系统管理  ->  全局工具配置

docker jenkins安装配置 docker jenkins jdk_maven_14

配置的maven和jdk都是通过数据卷依赖于宿主机的

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_15

docker jenkins安装配置 docker jenkins jdk_运维_16

第十步

构建一个项目、配置相应的git地址、maven自动构建项目、构建是自动启动jar

docker jenkins安装配置 docker jenkins jdk_maven_17

docker jenkins安装配置 docker jenkins jdk_jenkins_18

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_19

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_20

调用顶层的maven目标



# -Dmaven.test.skip=true -Ptest clean package



 

执行的shell脚本自动运行jar

#!/bin/bash
 
#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe
 
#Jenkins中编译好的jar位置
jar_path=//${WORKSPACE}/target        
 
#Jenkins中编译好的jar名称
jar_name=springboot_test-0.0.1-SNAPSHOT.jar
 
#获取并杀掉以前的进程
ps aux|grep "eureka"|grep -v grep|awk '{print $2}'|xargs kill -9
 
#进入指定的编译好的jar的位置
cd  ${jar_path}
 
#启动jar,后台启动
nohup /usr/local/src/jdk/jdk1.8/bin/java -jar ${jar_name} &



 

或者也可以将jar包考到相应的文件下进行启动

cp -rf ${WORKSPACE}/target/*.jar /var/jenkins_home/
 echo ${TEST_KEY}



 

第十一步

docker jenkins安装配置 docker jenkins jdk_docker jenkins安装配置_21

 

第十二步  补充知识



知识2.安装后jenkins默认的路径(了解下就好):

/usr/lib/jenkins/jenkins.war    WAR包

/etc/sysconfig/jenkins       配置文件

/var/lib/jenkins/       默认的JENKINS_HOME目录

/var/log/jenkins/jenkins.log    Jenkins日志文件