第一步
docker search jenkins
第二步
pull一个jenkins镜像
# docker pull jenkins/jenkins:2.222.3-centos |
下载需要等一些时间
第三步
下载完 通过 docker images
第四步
需要修改下目录权限,因为当映射本地数据卷时,/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/ |
第五步 构建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 exec -it my-jenkins bash
执行:cat /var/jenkins_home/secrets/initialAdminPassword
第七步
访问你服务ip+配置Jenkins端口9999(http://192.168.56.103:9999/)
输入刚才那个密码完成
第八步
配置 Jenkins
打开 Jenkins
通过浏览器访问 http://192.168.56.103:9999/(注意替换成你自己的IP和端口)进入初始页,如果 Jenkins 还没有启动完成,会显示如下内容
这里要求输入初始的管理员密码,根据提示密码在/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
第九步
系统管理 -> 全局工具配置
配置的maven和jdk都是通过数据卷依赖于宿主机的
第十步
构建一个项目、配置相应的git地址、maven自动构建项目、构建是自动启动jar包
调用顶层的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}
第十一步
第十二步 补充知识
知识2.安装后jenkins默认的路径(了解下就好): /usr/lib/jenkins/jenkins.war WAR包 /etc/sysconfig/jenkins 配置文件 /var/lib/jenkins/ 默认的JENKINS_HOME目录 /var/log/jenkins/jenkins.log Jenkins日志文件 |