Jenkins(结合Docker)任务(Jenkins与Docker位于同一机器上)

注:Docker与Jenkins可以各自单独使用,也可以联合使用。

声明:浏览此博客,最好先掌握一些Docker、Jenkins的基础知识。本文不会讲Docker、Jenkins如何安装等基本知识,
         相关基础知识可参考《程序员成长笔记(三)》第七章第五节。

准备工作之权限配置:

注:不同的安装Jenkins的方式,可能会有不同的权限,如果Jenkins操作Docker时权限不够,那么可参考 
     
https://blog.csdn.net/gzh0222/article/details/41594017

注:本人的情况是,将jenkins用户加入root组,并将/var/lib/jenkins/中的JENKINS_USER=jenkins改为了
     JENKINS_USER=root,才可以的。

提示:可以当后面的步骤出现权限问题时,再回头看此准备工作。

准备工作之运行jar包的容器准备:

第一步:从Docker官方仓库搜索镜像docker search justrydeng

注:此镜像是本人制作并上传到仓库中的;所以如果想自己做同样功能的镜像,那么可以参考本人的这篇博客
      在Docker中部署运行jar_justry_deng的博客-CSDN博客_docker启动jar包

第二步:docker pull justrydeng/common-run-jar抓取(下载)此镜像

第三步:以该镜像为基础,根据项目端口,定制化生成docker容器

                 docker run -p 8080:8080 --name jenkins-docker-test -d justrydeng/common-run-jar

注:如果在执行此步骤时,出现了类似docker: Error response from daemon: driver这样的错误,那么需要
     systemctl restart docker重启一下Docker。

说明:因为知道要运行的jar包需要的端口为docker中的8080,所以本人将docker中的8080端口,与宿主机的端
        口(这里干脆也8080)映射起来。其中,指令-p 8080/8080里,前面的8080为宿主机端口,后面的8080为容
        器端口。

        此时,我们已经创建了一个名为jenkins-docker-test容器了。如果此时我们只想在docker中运行jar包的话,那么只需将xxx.jar包改名为app.jar,放入jenkins-docker-test容器的/jarAppDir/目录下,再start启动容器即可实现docker中运行jar包了。如果需要更新jar包,那么需要:第一步:stop该容器,第二步:以新的app.jar替换容器中旧的app.jar,第三步:再次start启动该容器即可

配置Jenkins

第一步:新建一个maven风格的任务

第二步:配置各个参数

给出上图中涉及到的指令,文字版:

# 将当前位置切换至项目根目录下
cd /var/lib/jenkins/workspace/jenkins-docker-同一机器中/

# maven打包(可以将mvn clean 、 mvn install 合并到一起写)
mvn clean install

给出上图中涉及到的指令,文字版:

# stop该jar包对应的容器
docker stop jenkins-docker-test


# 将新的jar包拷贝至容器中的指令目录下,并重命名为jar.jar (注:如果该目录下本来就有jar.jar,那么原jar包会被替换)
docker cp /var/lib/jenkins/workspace/jenkins-docker-同一机器中/target/jenkins-0.0.1-SNAPSHOT.jar jenkins-docker-test:/jarAppDir/app.jar


# start该jar包对应的容器即可
docker start jenkins-docker-test

保存。

第三步:构建

第四步:构建成功后,访问http://10.8.109.60:8080/jenkins/test?name=JustryDeng

给出controller对应方法:

第五步:修改代码后>>>提交至SVN>>>再次构建>>>再次访问         
            
http://10.8.109.60:8080/jenkins/test?name=JustryDeng

给出修改后的controller对应方法:

由此可见:Jenkins与Docker位于同一台电脑上的联合使用,演示成功!

^_^ 如有不当之处,欢迎指正

^_^ 参考书籍
         《循序渐进学Docker》,李金榜 尹烨 刘天斯等 著
         《Jenkins权威中文指南》,Jobn Ferguson Smart 著 郝树伟 于振苓 熊熠 译

^_^ 本文已经被收录进程序员成长笔记,笔者JustryDeng

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值