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

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

准备工作之权限配置:

注:不同的安装Jenkins的方式,可能会有不同的权限,如果Jenkins操作Docker时权限不够,那么可参考 
     。

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

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

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

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

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins入门示例

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

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

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins_02

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

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

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_docker_03

注:如果在执行此步骤时,出现了类似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风格的任务

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins基础介绍_04

第二步:配置各个参数

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkin入门_05

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins_06

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins基础介绍_07

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

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

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

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins基础介绍_08

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

# 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

保存。

第三步:构建

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins基础介绍_09

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

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_docker_10

给出controller对应方法:

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_docker_11

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins基础介绍_12

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

docker 安装的jenkins默认用户名和密码 jenkins docker 权限_jenkins_13