Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

在上一篇博客《Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken》中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个静态的网站。

如果大家可以熟练掌握以上内容,势必会在工作中减轻不小的工作量。

本篇博客将再次使用这四个工具结合freestyle和pipeline来完成动态网站的部署。

为了拓宽知识点,本篇博客将使用jenkins的两种常用方法来进行部署,如果你对pipeline还不熟悉,请参考我之前的博客《Jenkins凭证及任务演示-pipeline(二)--技术流ken》。

虽说freestyle也可完成相同的操作,而且操作简单,但是freestyle只是适合服务器量很少的场景50-100台左右。如果你管理了百台、千台服务器势必会用到pipeline进行批量化操作。

所以pipeline来还是应该深入去研究一下的,虽说确实有困难,但是因为它的格式相对固定单一,也不是可望而不可及。多学多练多总结。

有关持续集成自动化部署系列差不多写了有十篇左右了。本篇博客将是这一系列的最后一篇,接下来会更新docker及k8s系列。敬请期待。

 

项目需求

 

需求一.、使用gitlab创建项目

需求二、 使用ansible的roles实现一键化部署wordpress

               每次部署需要备份之前的网站数据

               使用roles

               使用templates

               脚本对网站监控检测          

需求三、 完成之后项目上传至gitlab

需求四、使用jenkins实现项目的持续集成

 

项目环境准备

 

centos7

Gitlab服务器: 10.220.5.137

Ansible服务器: 10.220.5.139

wordpress服务器1: 10.220.5.138

防火墙以及selinux关闭状态

 

Gitlab创建项目

 

有关项目的创建我这里就不再赘述,大家可以参考我之前的博客《Gitlab在linux/windows中免密使用(二)--技术流ken》

我就直接拿我之前创建好的项目进行演示

Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

Git下载远程仓库内容

 

 在ansible服务器10.220.5.139上面操作

第一步:创建目录并clone远程仓库内容

[root@ken ~]# mkdir t [root@ken ~]# cd t [root@ken t]# git clone http://10.220.5.137/webg1/wordpress.git Cloning into 'wordpress'... Username for '': root Password for '@10.220.5.137': remote: Counting objects: 1062, done. remote: Compressing objects: 100% (969/969), done. remote: Total 1062 (delta 68), reused 1042 (delta 68) Receiving objects: 100% (1062/1062), 4.15 MiB | 0 bytes/s, done. Resolving deltas: 100% (68/68), done. [root@ken t]# ls wordpress

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxfsw.html