2020/06/10 Jenkins+Ansible+Gitlab自动化部署

2-1Gitlab介绍

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第1张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第2张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第3张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第4张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第5张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第6张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第7张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第8张图片

2-3 gitlab安装配置管理

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第9张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第10张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第11张图片
Omnibus综合的意思,一键安装包

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第12张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第13张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第14张图片
启动一台虚拟机,用windowsgit连接

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第15张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第16张图片

在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第17张图片
重启再登录
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第18张图片

安装gitlab依赖包
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第19张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第20张图片
启动postfix邮件服务,设置开机加载

在这里插入图片描述
在这里插入图片描述
使用openssl命令去创建证书
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第21张图片
用私有密钥去创建ssl证书,gitlab的域名
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第22张图片
私有密钥。csr证书都创建出来了
在这里插入图片描述
用私钥和csr证书去签发crt证书,x509 -req代表签署证书的格式,-days 365证书有效时间,-in引入csr证书,-signkey 引入私有密钥,-out输出 证书路径
在这里插入图片描述
现在证书就有了
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第23张图片
现在需要输出pem证书
在这里插入图片描述
输出pem证书

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第24张图片
、修改权限

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第25张图片
将所有证书配置到gitlab配置文件中
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第26张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第27张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第28张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第29张图片
初始化gitlab的所有相关服务配置
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第30张图片

去找nginx代理工具
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第31张图片
让配置生效

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第32张图片
可以在windows的hots文件设置一下gitlab的dns解析
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第33张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第34张图片
需要写一个密码2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第35张图片

苦于创建一个新的仓库2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第36张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第37张图片
复制地址

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第38张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第39张图片
克隆仓库到本地,需要输入密码

在这里插入图片描述
创建测试代码
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第40张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第41张图片
添加该文件到本地仓库
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第42张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第43张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第44张图片
push到远程仓库
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第45张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第46张图片

2-4gitlab的应用

可以针对不同用户和项目设定不同的权限。
有时候会提交master,合并主分支的申请,等待领导审核

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第47张图片

运维人员该如何去检查gitlab健康状况
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第48张图片
进入到后台管理界面,monitoring下面有很多实例
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第49张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第50张图片
log实例下,application log记录了很多相关gitlab的审计记录操作
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第51张图片
production log记录了访问日志2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第52张图片
** health check 可以看到一个总的健康状况**2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第53张图片
创建一个gitlab用户给开发

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第54张图片
在这里插入图片描述保证是一个普通账号

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第55张图片
创建一个项目管理的账号
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第56张图片
创建领导账号

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第57张图片
管理我们创建的仓库

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第58张图片
dev选择developer权限加入项目

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第59张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第60张图片
在这里插入图片描述
修改这两个账号的初始密码
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第61张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第62张图片
测试简单点,可以输入12345678

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第63张图片
初始lead账号的密码
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第64张图片
演示开发人员编写好代码后,如何将代码提交到分支下,并合并到master主分支的申请

之前使用管理员创建的仓库目录,现在需要用dev来创建
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第65张图片
创建一个开发人员维护的git分支
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第66张图片
在这里插入图片描述
修改代码
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第67张图片
这样就把本地的分支同步到了gitlab中

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第68张图片
登录dev账号

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第69张图片
可以把分支合并到主分支里

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第70张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第71张图片
写lead账号保证lead账号可以收到申请
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第72张图片
退出dev账号,lead账号
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第73张图片
可以点击到里面

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第74张图片
可以点击merge确认操作

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第75张图片
可以给dev回复一句话
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第76张图片
主分支下获取到了最新代码

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第77张图片

3-1 ansible简介

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第78张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第79张图片

3-2 ansible的优势和应用场景

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第80张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第81张图片

3-3 ansible配合virtualenv安装配置

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第82张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第83张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第84张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第85张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第86张图片
开一台虚拟机作为ansible

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第87张图片
ssh连接过去

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第88张图片
在这里插入图片描述
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第89张图片
在这里插入图片描述
安装python3.6.5
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第90张图片
**设定一些编译参数的值
–prefix将python3.6.5安装到/usr/local下
–with-ensurepip 安装pip包管理工具
–enable-shared 配置python3.6.5当前系统的参数值
**

在这里插入图片描述
在这里插入图片描述
因为是3.6版本python,所以pip是3.6,用pip包管理工具安装virtualenv
在这里插入图片描述
切换到deploy用户,创建python3.6用户

在这里插入图片描述
在这里插入图片描述
安装git
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第91张图片
把ansible源代码克隆到本地

在这里插入图片描述

在这里插入图片描述
安装ansible依赖包
在这里插入图片描述
把ansible目录移动到虚拟环境下,切换ansible版本是2。5版本
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第92张图片
虚拟环境下加载2.5版本
在这里插入图片描述
完成在python虚拟环境下安装2.5版本

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第93张图片

ansible playbooks入门和编写规范

UAT单元测试环境

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第94张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第95张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第96张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第97张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第98张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第99张图片
这里有一个test主机

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第100张图片
登录ansible主机
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第101张图片
加载python3.6的虚拟环境
在这里插入图片描述
同时加载ansible的2.5版本到当前的deploy用户
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第102张图片
创建若干子目录,来搭建playbook框架
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第103张图片
这样就定有好了组列表和参数

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第104张图片
main.yml作为testbox的主任务文件
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第105张图片
测试任务,在目标主机下输出一行

在这里插入图片描述
现在需要给test-playbooks创建任务路口文件
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第106张图片
在这里插入图片描述2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第107张图片
对应test-playbooks下的inventory下的testenv下的标签,定义主机

在这里插入图片描述
获取目标主机的一些facts信息
在这里插入图片描述
告诉ansible在目标主机下用root用户运行
在这里插入图片描述
进入到roles目录下的testbox执行任务
在这里插入图片描述
这样就创建好了一个playbooks的入口文件,下面就是目录结构
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第108张图片
返回到root
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第109张图片
在这里插入图片描述
增加一条dns记录

在这里插入图片描述
创建密钥认证对
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第110张图片
-i 指定公钥
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第111张图片
现在可以直接ssh
在这里插入图片描述
现在去执行ansible playbook入口文件,完成部署到testenv的操作,第一个task获取到了一些基本信息,下面有一个总结
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第112张图片
在这里插入图片描述
成功创建 了一个test文件
在这里插入图片描述

3-6 ansible playbooks常用模块介绍

name定义任务名称
file申明语句调用的是file模块,权限,创建文件的路径,创建,所有人,所属组

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第113张图片
remote_src=no申明将源ansible的主机文件,传送到目标主机中
force=yes copy任务是强制执行的

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第114张图片
任务名检查文件是否存在
register:script_stat 用来将stat获取到的文件状态信息传送给script_stat变量

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第115张图片
debug:msg=语句输出
when调用之前的stat变量信息

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第116张图片

shell模块会调用linux下的/bin/bash,所以就可以使用系统环境变量,就可以用管道。command就不能使用重定向符之类的
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第117张图片
可以用template来写jinja2配置参数,比如nginx,从而实现对不同环境下的管理
playbooks里定义的资源配置里的参数,生成最终的配置文件

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第118张图片
package是广义的模块集
state=latest设定安装的nginx是最新版本

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第119张图片

service模块是管理系统的init系统服务,service和systemctl命令

sate=started定义需要用到的nginx服务做一个启动的操作

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第120张图片

3-7 Ansible playbooks常用模块案例操作

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第121张图片
登录到test.example.com,创建一些必要的,配置好yum源
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第122张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第123张图片
在这里插入图片描述
测试跑

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第124张图片
下面是copy模块创建过程
创建一个 roles/testbox/files

在这里插入图片描述
编辑主任务文件
在这里插入图片描述
创建copy模块任务,force=yes是任务强制执行
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第125张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第126张图片
进入到主任务文件中,获取远程的文件状态

在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第127张图片
创建debug任务,用来获取stat任务的信息
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第128张图片
在这里插入图片描述
测试是否成功
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第129张图片
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第130张图片
测试跑一下

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第131张图片
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第132张图片
创建一个template目录
在这里插入图片描述
创建一个jinja2模板文件
在这里插入图片描述
user添加了user变量,worker_process添加了worker_process变量

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第133张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第134张图片2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第135张图片
在这里插入图片描述
到主任务文件,添加template模块任务
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第136张图片
添加yum,安装nginx
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第137张图片
启动nginx

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第138张图片
在这里插入图片描述
执行成功
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第139张图片
远程主机现在就已经应用了
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第140张图片
查看nginx是否启动成功
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第141张图片

4-1 Jenkins介绍

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第142张图片

4-2 Jenkins的优势和应用场景

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第143张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第144张图片

4-3 Jenkins安装配置管理

创建一个虚拟机

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第145张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第146张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第147张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第148张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第149张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第150张图片
连接刚才创建的jenkins虚拟主机
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第151张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第152张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第153张图片
导入yum仓库key
在这里插入图片描述
安装java环境

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第154张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第155张图片
在这里插入图片描述

开始jenkins初始配置操作

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第156张图片
在这里插入图片描述
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第157张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第158张图片
修改jenkins家目录和工作目录的属主属组
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第159张图片
jenkins正常启动

在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第160张图片
查看密码
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第161张图片
安装推荐插件

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第162张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第163张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第164张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第165张图片
可以看到系统信息和插件列表

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第166张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第167张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第168张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第169张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第170张图片2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第171张图片

4-4 Jenkins job的介绍(Freestyle job 和 Pipeline job)

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第172张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第173张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第174张图片

4-5 Jenkins job环境准备

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第175张图片
进行后台user和email的注册
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第176张图片
这样注册好了git client的user和 email

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第177张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第178张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第179张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第180张图片

这样添加了一个root管理员密码到jenkins凭据中
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第181张图片

4-6 Jenkins freestyle job的构建与配置

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第182张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第183张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第184张图片
填写描述信息

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第185张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第186张图片
选择选项参数
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第187张图片

参数二选一传到参数中
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第188张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第189张图片
把代码克隆到本地开始构建
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第190张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第191张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第192张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第193张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第194张图片
添加脚本,把之前定义的参数传入到shell脚本里
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第195张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第196张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第197张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第198张图片
这些都是参数传参

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第199张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第200张图片
工作区域路径,当前所有的任务配置文件都会保存在这个路径中,
在这里插入图片描述
git相关的输出
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第201张图片
执行脚本,有一个语法错误

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第202张图片
少写了一个空格

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第203张图片
现在就成功了

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第204张图片

4-7 Jenkins Pipeline job的编码规范与构建配置

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第205张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第206张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第207张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第208张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第209张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第210张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第211张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第212张图片
添加描述信息
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第213张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第214张图片
#!申明 groovy脚本
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第215张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第216张图片
关闭git全局ssl认证
在这里插入图片描述
添加stages区域
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第217张图片

jenkins有凭据id

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第218张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第219张图片
这样就把jenkins源代码,克隆到本地目录内
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第220张图片
将传入的参数写入到test.properties文件中
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第221张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第222张图片
再新创建stage任务,检查是否写入成功
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第223张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第224张图片
注意大小写

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第225张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第226张图片
第一次构建出现了错误。首次构建pipeline job的时候,我们的参数没有引入到当前的pipelinejob 当中
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第227张图片
可以添加如下参数

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第228张图片
现在是一个比较稳定的状态去执行
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第229张图片

4-8 Jenkins Linux shell集成和Jenkins参数集成

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第230张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第231张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第232张图片
编辑一个shell脚本
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第233张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第234张图片
使用了shell脚本打印了若干信息

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第235张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第236张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第237张图片
可以加一个选项参数
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第238张图片
可以加一个文本参数
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第239张图片
添加布尔值参数
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第240张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第241张图片
再编辑一个shell脚本
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第242张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第243张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第244张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第245张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第246张图片

4-9 Jenkins Git和Maven集成

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第247张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第248张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第249张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第250张图片
保存

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第251张图片
构建成功
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第252张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第253张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第254张图片
在这里插入图片描述
这样就成功安装了一个maven

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第255张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第256张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第257张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第258张图片

这里有一个事先写好的源代码
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第259张图片
有pom.xml

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第260张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第261张图片
复制仓库地址

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第262张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第263张图片
git的源代码编译并打包成war包

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第264张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第265张图片
、这就是javahome路径

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第266张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第267张图片
maven路径

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第268张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第269张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第270张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第271张图片
点击构建,maven就开始构建
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第272张图片
war包保存到了这里
在这里插入图片描述

4-10 Jenkins Ansible集成

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第273张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第274张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第275张图片
试试是否配置了密钥认证
在这里插入图片描述
testservers就是ansible server清单文件

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第276张图片
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第277张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第278张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第279张图片
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第280张图片
输入正确拼写

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第281张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第282张图片

5-1 Freestyle job实战 - 三剑客环境搭建

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第283张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第284张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第285张图片
有仓库说明gitlab是搭建成功的

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第286张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第287张图片
验证ansible再jenkins主机中是否安装成功,加载环境

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第288张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第289张图片

5-2 Freestyle job实战 - 环境配置

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第290张图片
windows主机关闭git ssl认证
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第291张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第292张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第293张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第294张图片复制出一个目录

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第295张图片
deploy.yml作为入口文件,inventory清单,roles详细任务列表

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第296张图片

在这里插入图片描述

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第297张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第298张图片
把文件复制成2份

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第299张图片
在这里插入图片描述
变量可以传入到roles的子文件
在这里插入图片描述

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第300张图片
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第301张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第302张图片
修改目录名称
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第303张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第304张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第305张图片
创建一个健康状况检查的文件,用来监控最后的网站是否部署成功
在这里插入图片描述

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第306张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第307张图片

在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第308张图片
在这里插入图片描述
这里的变量就是清单中变量值
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第309张图片

5-3 Freestyle job实战 - 编写playbook脚本实现静态网页远程部署

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第310张图片
编辑主任务操作

申明叫本地文件remote_src传送到目标文件
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第311张图片
将该任务在本地playbook下执行,而不是目标主机下执行

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第312张图片
将脚本文件输出的内容传递给一个参数 health_status
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第313张图片
这个任务就是输出上个任务注册的参数值,这样可以在playbook输出中看到该脚本的返回值

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第314张图片

5-4 Freestyle job实战 - 将playbook部署脚本提交到Gitllab仓库

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第315张图片保证当前目录是在编辑好 ,nginx-playbook下,所有的操作提交
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第316张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第317张图片
推送到远程仓库master分支下
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第318张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第319张图片

5-5 Freestyle job实战 - Freestyle任务构建和自动化部署

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第320张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第321张图片
在这里插入图片描述
set +x 关闭一些没必要的环境变量输出
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第322张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第323张图片
添加一些选项参数
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第324张图片
添加一个文本参数
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第325张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第326张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第327张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第328张图片
这里提示路径不存在

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第329张图片
这里更正路径

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第330张图片
继续开始构建

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第331张图片
这里是git操作
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第332张图片
set +x 禁止输出无用的变量

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第333张图片
这样就完成了一键自动部署

在这里插入图片描述

5-6 Jenkins pipeline job实战 - 三剑客环境搭建

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第334张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第335张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第336张图片
jenkins和gitlab都登录到了
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第337张图片

5-7 Jenkins pipeline job实战 - 环境配置

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第338张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第339张图片
gather_facts true相当于在playbook的时候可以获取主机相关信息,这样入口文件就完成了
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第340张图片
首先编辑dev环境

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第341张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第342张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第343张图片
现在dev环境和prod环境一样,加一个git配置,因为要git clone

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第344张图片
在这里插入图片描述
在这里插入图片描述
修改dev以便区别
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第345张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第346张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第347张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第348张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第349张图片
根据端口来判断

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第350张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第351张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第352张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第353张图片
复制php.fpm的配置
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第354张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第355张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第356张图片
清空文件再编辑

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第357张图片
nginx模板文件就编辑好了

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第358张图片

5-8 Jenkins pipeline job实战 - 编写playbook脚本实现WordPress远程部署

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第359张图片
清空主配置并编辑
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第360张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第361张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第362张图片
在这里插入图片描述
安装php-fpm相应模块
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第363张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第364张图片
创建health check任务,用来测试远程的任务是否成功,delegate_to 用来定义当前shell脚本是在本机执行。register=health_status将shell脚本返回值传入到这个变量里

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第365张图片
添加一行打印输出
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第366张图片

5-9 Jenkins pipeline job实战 - 将源码和脚本提交到Gitlab仓库

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第367张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第368张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第369张图片
这里就添加了一个目录

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第370张图片

5-10 Jenkins pipeline job实战 - pipeline任务构建脚本的编写

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第371张图片
选择流水线
在这里插入图片描述
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第372张图片
关闭ssl认证
在这里插入图片描述
找到凭据唯一ID

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第373张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第374张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第375张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第376张图片
最后一个stage做ansible的部署操作
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第377张图片

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第378张图片

5-11 Jenkins pipeline job实战 - pipeline任务构建以及自动化部署

控制台输出你是否要允许部署,proceed就是继续
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第379张图片
如果报错没有环境变量可以继续,因为第一次还没有加载进去

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第380张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第381张图片
set +x关闭环境变量的输出

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第382张图片首先需要把wordpress上传到gitlab中

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第383张图片
mysql进行初始化

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第384张图片
进入到wordpress初始化界面

2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第385张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第386张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第387张图片
2020/06/10 Jenkins+Ansible+Gitlab自动化部署_第388张图片
成功

在这里插入图片描述

你可能感兴趣的:(2020/06/10 Jenkins+Ansible+Gitlab自动化部署)