0

0

Docker+LNMP+Jenkins+码云实现 PHP 代码自动化部署

藏色散人

藏色散人

发布时间:2020-01-17 14:30:50

|

4390人浏览过

|

来源于learnku

转载

自动化部署(持续集成 / ci + 持续交付 / cd)是一个软件开发的趋势,是对 devops 的一个很好的帮助发展推进。今天实践的是基于 docker+jenkins+lnmp + 码云,实现 php 代码的自动化部署过程。

环境配置

操作系统:CentOS Linux release 7.6.1810Docker 版本:19.03.5Jenkins 版本:2.204.1Nginx 版本:1.15.5PHP 版本:7.2.26MySQL 版本:8.0.18Redis 版本:5.0.5  码云:代码仓库

码云仓库准备

创建项目仓库

e5839d7060741cfd41ae09c9c32e680.png

立即学习PHP免费学习笔记(深入)”;

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. Command //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

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

55

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 10.1万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号