Docker+LNMP+Jenkins+码云实现 PHP 代码自动化部署-php教程

资源魔 37 0
主动化部署(继续集成 / CI + 继续交付 / CD)是一个软件开发的趋向,是对 DevOps 的一个很好的协助倒退推动。明天理论的是基于 Docker+Jenkins+LNMP + 码云,完成 PHP 代码的主动化部署进程。

环境设置装备摆设

操作零碎:CentOS Linux release 7.6.1810

Docker 版本:19.03.5

Jenkins 版本:2.204.1

Nginx 版本:1.15.5

PHP 版本:7.2.26

MySQL 版本:8.0.18

Redis 版本:5.0.5

码云:代码仓库

码云仓库预备

创立名目仓库

e5839d7060741cfd41ae09c9c32e680.png

Jenkins 预备

装置 ssh 插件

由于构建名目式,需求执行效劳器的一些shell饬令,以是采纳ssh登录形式与近程效劳器进行通讯。

1. 零碎治理->插件治理

2. 搜寻:ssh,装置便可

0ed68718d8ef3f3852900a7bfc2c84b.png

1d9fdffe493cbafdcd0068fb05934d9.png

新建工程义务

义务称号不克不及是中文哦,抉择第一个:Freestyle project 自界说名目

40b5720c028692561766490cc518519.png

工程义务设置装备摆设

1. 源码治理抉择:git

2. Repository URL:仓库地点(我的是码云仓库)

3. Credentials抉择增加

4. 增加凭证

5. 设置装备摆设仓库私钥(详细可查看码云的仓库密钥治理协助)

403e029a6e869db9d83620a7f3dba15.png

ef352b5b46e70caefd266663e1fd66a.png

凭证设置装备摆设胜利后,抉择上一步凭证设置装备摆设的Username便可,这下假如胜利衔接上仓库地点,则没有会报错了。

d944a2edfd7ce421dab8e8b01f73836.png

构建触发器抉择:Github hook trigger for GITScm polling

1f714ae2590448f5697ec001cd19092.png

构建环境:Use secret text(s) or file(s) //私密形式传输文件

凭证:抉择指定凭证git

af7f18480fd53d8319e1b42e4cb9967.png

设置装备摆设 ssh

1. 零碎治理->零碎设置装备摆设

2. 设置装备摆设近程效劳器ssh相干信息

cd9f6840a68ea28c3326aaafcc6fcee.png

ea7116563384ac06c22a3e8e1a20dc1.png

设置装备摆设构建 shell 剧本

构建:Execute shell script on remote host using ssh //构建时执行近程效劳器shell剧本

1. 填写SSH site //近程效劳器ssh登录

2. Co妹妹and //shell剧本

备注:

由于代码主动部署正在jenkins的工作空间workspace目次下,而名目的站点目次正在/data/www下,以是正在构建时,需求把更新的代码文件复制到名目站点下(这里有多种完成形式,这里应用代码复制一份,是由于代码的巨细没有会占很年夜的空间,如今不少动态资本都放正在一些云效劳上了)

最开端应用过软衔接的形式,但由于nginx没有支持软衔接的拜访。

4ca65c7b64ffd5c7c3f2762f06ab60c.png

8f2b5b2b0a8862c592bcd2472ce8229.png

设置装备摆设终了,点击保留便可

码云代码推送

码云仓库修正代码,而后提交PR到master分支

88cd5fe64201bd7446621b3a680a347.png

b59711ec358d246ab4a5fc0e436c0d2.png

部署义务手动构建

手动点击构建,便可完成代码主动化部署

备注:

也能够设置装备摆设成监控到git push就间接主动构建(测试环境倡议这样做)

手动点击构建是为了更好的治理(消费环境倡议这样做)

cdfbf2c080b2023836e522b407eb54d.png

8f529853c4e5e50b75a9c8cf9c0637c.png

假如义务构建失败,会有报错信息以及白色标志 //很不便治理

43a8c31acdcd7a7719db445ac9b32e7.png

f4e203d0555cc802cd1f9adc9be8ec2.png

拜访网站

主动化部署义务构建胜利后,拜访咱们的名目,便可看到修正成果

af6f1a93f9c81688ad8edae2eed8c16.png

以上就是Docker+LNMP+Jenkins+码云完成 PHP 代码主动化部署的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!