使用docker搭建jenkins环境,一键部署springboot应用
docker环境下jenkins环境的搭建
下载docker的镜像
docker pull jenkins/jenkins:lts
运行jenkins镜像
docker run -p 8081:8080 -p 50000:5000 --name jenkins-u root -v /mydata/jenkins_home:/var/jenkins_home-d jenkins/jenkins:lts
注意:这里的端口映射需要注意,需要查看本机端口是否有已经被占用的端口,后面映射的docker端口好像必须是8080端口,笔者一开始映射的端口是8081:8081,发现启动之后报错,后来启动了好几次,没有报错发现,但是通过浏览器访问不到,通过查看日志,发现不管你映射的端口是什么,启动的时候都会在8080端口处启动
docker的配置
运行成功之后,访问jenkins,地址 http://113.51.156.205:8081/,第一次访问需要密码
查看jenkins密码
进入jenkins所在的docker容器,然后输入命令
cat /var/jenkins_home/secrets/initialAdminPassword
选择插件安装方式,这里直接安装推荐的插件
进入插件安装界面,联网等待插件安装
注意:如果插件下载比较慢的话,可以使用下面的方法:进入/mydata/jenkins_home/updates,也就是jenkins的工作目录,执行如下命令
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
安装完成之后,创建管理员账号
![2c60a8059099da0c9bf0453bba9d7070.png](https://i-blog.csdnimg.cn/blog_migrate/a0974e6e8959c834ad84bcefb1873f41.jpeg)
进行实例配置,配置Jenkins的URL
image-20200812160858997 进行一些自定义插件的安装,点击jenkins系统管理,插件管理,在可选插件tab页面,输入要安装的插件,
例如:根据角色管理权限的插件:Role-based Authorization Strategy
远程使用ssh的插件:SSH plugin
进行全局工具设置,例如maven设置,jdk设置,git设置
image-20200812163901082
![8561d687d351d6ba7bf854af2f2c92ab.png](https://i-blog.csdnimg.cn/blog_migrate/2fff622d2e7fe9fb755b696751b947d2.jpeg)
进入系统配置,配置ssh的配置,这样Jenkins使用ssh就可以执行远程的linux脚本了:
角色权限设置
我们可以使用Jenkins的角色管理插件来管理Jenkins的用户,比如我们可以给管理员赋予所有权限,运维人员赋予执行任务的相关权限,其他人员只赋予查看权限
第一步:点击全局安全配置,设置授权策略为role-basesd-strategr
![a437a58bb917a1e5207385a56f7c5ad7.png](https://i-blog.csdnimg.cn/blog_migrate/33e2f45774f45232df13d9430872890d.jpeg)
第二步:点击系统管理下面的manage and assgin roles进行角色和权限的设计,用户权限设置
![326251b815136b1344d4f762810f47fd.png](https://i-blog.csdnimg.cn/blog_migrate/3eb2ea3747db2cb676490c83a166be3d.jpeg)
![48fa439779f1750cfaedb228735cda8d.png](https://i-blog.csdnimg.cn/blog_migrate/6abbac0899839337891ddac8ccaa9683.jpeg)
![b3fd990719db9cded6d8a8a5ae4011c4.png](https://i-blog.csdnimg.cn/blog_migrate/d781b624714e97a91cafc58c490659e3.jpeg)
打包部署SpringBoot应用
源代码地址:https://gitee.com/zhaozuowen/springboot-jenkins-demo.git
有一点需要注意
,要将pom.xml中的dockerHost地址改成你自己的Docker镜像仓库地址:
将springboot-jenkins-demo.sh拷贝到/mydata/sh目录下
给.sh脚本添加可执行权限
chmod +x ./springboot-jenkins-demo.sh
jekins新建任务
新建一个任务
-
image-20200813094502444 配置源码仓库
image-20200813094815050 配置构建过程中执行maven打包镜像命令
image-20200813094911614
![91c67e1e21527e741756d46d0e1782e5.png](https://i-blog.csdnimg.cn/blog_migrate/2d81fd9640ed6b9800bac93b432dd320.jpeg)
配置执行远程脚本shell的构建,用于在我们的镜像打包完成后执行docker容器
image-20200813095236592
![5a6c581dc496302cf3db0efb29642a78.png](https://i-blog.csdnimg.cn/blog_migrate/2c79c5a84cc4ed47d5cc88c9a578a5e7.jpeg)
最后执行任务的构建
image-20200813095514946
参考文章:
[]: https://mp.weixin.qq.com/s/tQqvgSc9cHBtnqRQSbI4aw "使用Jenkins一键打包部署SpringBoot应用,就是这么6!"