CentOS7.3下Jenkins+docker自动化部署solo站点
在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署、交付(CD)。持续集成(CI)表示由开发对项目代码进行确认修改并推送到git,svn,ftp等应用的持续更新发版操作。
持续部署(CD)表示根据jenkins在应用中拉取的代码可以对目标服务器进行持续部署到任何环境下。
将代码更新后,提交到指定的存储库中,如git,svn以及ftp等应用中,再由运维通过jenkins拉取存储在应用中的项目代码,打包成war包的形式部署到对应的测试环境以及生产环境中。docker的参与就在于,通过执行shell语句拉取远程镜像仓库的镜像,以及git,svn,ftp中的项目代码,在本地docker环境下,通过Dockerfile的形式再改远程镜像中构建出一套存在项目代码的新的基础镜像,并将镜像上传到远程registry中,再通过jenkins中ssh协议对想要部署的docker主机进行镜像拉取,容器创建等远程部署操作,这样服务就能正常运行了。
http://i2.运维网.com/images/blog/201808/14/394a86ec27e5e3674dfb32dbc7f6b6d9.png
工作流程:
[*] 开发人员提交代码到Git版本仓库;
[*] Jenkins人工/定时触发项目构建;
[*] Jenkins拉取代码、代码编码、打包镜像、推送到镜像仓库;
[*] Jenkins在Docker主机创建容器并发布。
环境规划如下:
node-1:192.168.175.128 jenkins/docker
node-2:192.168.175.130 docker/部署主机
node-3:192.168.175.131 git/registry 仓库
1.部署Git仓库
主机node-3
1.安装git
#yum install -y git
2.创建git用户、
#useradd git
#passwd git
3.以git用户的身份在其家目录下创建git仓库
#su - git
~]mkdir solo.git//该仓库绝对路径为/home/git/solo.git
4.尝试拉取远程git仓库中的代码
#git clone git@192.168.175.131:/home/git/solo.git
2.部署私人registry
主机 node-3
1.安装docker
# yum install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm -y
# yum install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -y
2.启动docker
# systemctl start docker && systemctl enable docker
3.创建registry,并在后台运行
# docker pull registry
# docker run -itd --name registry -p 5000:5000 --restart=always registry
3.部署jenkins
1.安装jdk,maven
# tar -xfjdk-8u181-linux-x64.tar.gz -C /usr/local
# mv /usr/local/jdk-8u181-linux-x64 /usr/local/jdk1.8
# tar -xf apache-maven-3.5.0-bin.tar.gz -C /usr/local
# mv /usr/local/apache-maven-3.5.0-bin /usr/local/maven
# cat > /etc/profile.d/java.sh凭据
配置远程docker主机的身份,让jenkins能够在该docker主机上进行镜像拉取,容器构建操作,可以使用密钥,密码的方式
http://s1.运维网.com/images/20180918/1537256195301869.png
2.系统管理 --> 系统设置 配置远程主机信息,主机IP,使用的凭据,访问端口
http://s1.运维网.com/images/20180918/1537256272970370.png
3.系统管理 --> 全局工具设置 设置jdk,maven,git的全局配置,如路径,名称
http://s1.运维网.com/images/20180918/1537256780121560.png
http://s1.运维网.com/images/20180918/1537257547674658.png
4.系统管理 --> 管理插件 安装插件SSH,Git Parameter,Maven Integration plugin
5.创建Maven项目,进行配置
http://s1.运维网.com/images/20180918/1537258203315855.png
设置在git仓库拉取代码,需要设置无密连接
http://s1.运维网.com/images/20180918/1537258412840157.png
http://s1.运维网.com/images/20180918/1537258471540230.png
在本地jenkins执行shell命令,并在远程docker操作主机将封装好的镜像拉渠道docker主机,删除之前部署过的镜像和容器,并启动封装了最新代码的镜像容器
http://s1.运维网.com/images/20180918/1537258556371043.png
进行部署
1.保存配置
2.Build with Parameters:根据Tag选择版本号
http://s1.运维网.com/images/20180918/1537258778648871.png
3.进入控制台查看输出
http://s1.运维网.com/images/20180918/1537260355946596.png
4.访问博客
http://s1.运维网.com/images/20180918/1537260439177596.png
页:
[1]