引言:
首先我们可以实现一键部署网站,但在实际生产环境网站部署完成之后,我们的开发隔三差五要修改下网站的内容,难道都要我们运维手动执行命令吗?没有一种方法使得开发人员修改完代码自己测试,部署上线呢,那这就是我们这次要做的持续集成自动化部署的内容。
环境:
自动化部署nginx静态网站两台主机节点
192.168.30.159:Gitlab服务,节点一
192.168.30.164:jenkins服务,Ansible工具
192.168.30.165:节点二
一、Gitlab仓库的搭建
第一步 :仓库搭建
见Gitlab仓库搭建及在linux,windows中免密使用gitlab(二)
https://blog.csdn.net/rzlongg/article/details/90576768
第二步:创建项目
这里创建一个叫insnginx
二、jenkins持续集成平台搭建
见jenkins持续集成学习(一)
https://blog.csdn.net/rzlongg/article/details/91344621
三、下载ansible自动化部署工具并编写剧本
第一步:下载ansible和git
[root@localhost insnginx]# yum -y install epel-release
[root@localhost ~]# yum -y install ansible
需下载git命令工具下载仓库以及支持jenkins凭证连接gitlab
[root@localhost ~]# yum -y install git
还需要下载nginx服务提供nginx配置文件nginx.conf
[root@localhost ~]# yum -y install nginx
第二步:创建工作目录并克隆仓库
[root@localhost ~]# mkdir /ryan
[root@localhost ~]# cd /ryan
[root@localhost ryan]# ls
[root@localhost ryan]# git clone http://192.168.30.159/root/insnginx.git
正克隆到 'insnginx'...
warning: 您似乎克隆了一个空版本库。
[root@localhost ryan]# ls
insnginx
[root@localhost ryan]# cd insnginx/
[root@localhost insnginx]# ls -a
. .. .git
第三步:发送秘钥或用配置文件方法
1发送秘钥
[root@localhost insnginx]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter