这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?
一、为什么用jenkins
主要是我们现在的项目都是采用手动部署的,每当给项目中新增一个功能就必须执行(打包--测试--上传测试修复的包到指定服务器--部署上线),这个流程操作起来繁杂,不小心就可能导致部署失败;急需找到一个方式来解决本来就机械化的工作,于是就选择了Jenkins。它能够实现打包、测试、审验、部署一键操作,而已也支持很多插件兼容,操作起来简单方便。
二、Jenkins到底是什么?
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。下面为项目持续集成和交互的流程图
三、Docker安装Jenkins
1.拉取jenkins镜像
启动docker $ systemctl start docker
拉取镜像 $ docker pull jenkins/jenkins
查看镜像
2.创建Jenkins挂载目录
稍后可以将docker内的目录挂载到此目录上,方便操作容器内文件夹而不需要进入容器 $ mkdir -p /var/jenkins_home
3.为挂载目录赋予权限
chmod 777 /var/jenkins_home
4.运行jenkins
启动一个docker容器,-d是后台执行 -p是本机49001映射容器中的8080端口,该端口是Jenkins默认监听端口 -v表示将容器中的/var/jenkins_home挂载到本机的/var/jenkins_home目录,前者为本机地址,后者为容器地址 --name表示让其命名为myjenkins 最后jenkins/jenkins则是本次运行使用的镜像
可通过显示容器命令查看运行情况
至此jenkins安装完成并运行,可通过ip地址加上端口号49001访问 界面如下
如无法打开,请检查容器启动情况并通过查看错误日志排查错误情况 docker logs myjenkins
使用云服务器请检查防火墙是否开放对应端口
5.查看Jenkins密码
6.配置jenkins插件
启动jenkins后,可选择使用推荐插件或自定义插件。插件安装失败或速度过慢,可通过配置镜像加速解决。
7.配置镜像加速
至此,安装配置完成
四、Jenkins结合Github拉取源码
前置条件:
(1)jenkins已经安装完成,参考我的另一篇文章进行安装配置:jenkins安装及配置
(2)Jenkins服务器已经拥有一个公网IP地址,由于我是本地搭建的,所以我用NATPP实现内网穿透。
(3)插件安装:CloudBees Credentials 、GitHub API Plugin、SSH Credentials Plugin、Git client plugin、SCM API、Mailer Plugin 、Plain Credentials Plugin 、GIT plugin、GitHub Plugin
1、配置Personal Access Token
在对项目有写权限的用户上获取token进入github –> setting –> Developer settings –> Personal Access Token
2、新建项目
3、配置github源码拉取
3.1 配置凭据
3.2 配置github服务
3.3 在刚刚创建的项目配置github
3.4 选择项目“立即构建”
五、基于Docker自动构建项目
1、安装docker插件
安装docker插件
2、配置Docker服务
2.1 开启Docker服务的2376端口
2.1.1 编辑配置文件
2.1.2 配置2376的tcp端口
2.1.3 重启和加载Docker服务
2.2 配置Docker服务
3、jenkins配置自动部署项目
3.1 配置“构建环境”--添加“build/publish docker image”
3.2 配置Docker服务打包镜像
3.3 配置SSH插件
3.3.1 安装SSH插件
3.3.2 配置SSH登录
选择上面高级勾选并设置密码
3.3.3 使用配置的SSH插件
3.3.4 添加执行shell脚本
3.4 保存后构建项目
3.5 直接访问项目即可实现自动部署
查看223服务器上面的Docker运行容器
访问项目测试