Py学习  »  docker

这样用Docker 搭建 Jenkins 实现自动部署,你知道吗?

dotNET跨平台 • 2 年前 • 308 次点击  

 一、为什么用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运行容器

访问项目测试


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/114008
 
308 次点击