Gitlab CI/CD 爬坑
文章目录
【注意】最后更新于 September 5, 2020,文中内容可能已过时,请谨慎使用。
经过几天的研究(感激另一位后端同事「仁杰」提供的帮助),已经将 Gitlab 的 CI/CD 已经使用上,已经完成如下:
- 代码 merged dev 自动触发,将 dev 分支代码部署到测试服。
- 打 tag 后,支持手动点击触发集成流程,将当前 tag 代码部署到 2 台生产服务器(用户无感)
- 支持一键 rollback,如果此版本出现 bug,支持回滚操作。
贴两张效果图,如下
PHP 的部署使用的是 Deployer
,再使用的过程中遇到,踩到了几个坑,这里记录一下。
php-fpm realpach_cache
在 php 7.1 版本环境下,每次发版后,因 php-fpm 使用的 opcache 缓存的缘故,每次发布代码后,即使软连已经指向到最新的版本的了,但实质上还是 include 就代码文件,这就很苦恼了,经过查阅发现有以下三种解决方法:
- 发布完成后,reload php-fpm 可解决,命令
service php7.1-fpm reload
此种方法,也是 deployer
提供的一种方式,见文章,贴出代码如下:
让我们在deploy完成后重新加载php-fpm :
|
|
reload
等同于 nginx 的 reload
会优雅的重载 php-fpm
,不会中断正在服务的 php-fpm
子进程。
- 使用 cachetoole 工具,只清理 opcache 或 apcu 的 cache
cachetoole 工具的使用,见文档,注意根据自己的 php 版本对应下载。
两种方式都尝试过,都可以成功,个人认为如果你想这么麻烦,直接采用方式一即可。
laravel 中的坑
错误如下:
The only supported ciphers are AES-128-CBC and AES-256-CBC
解决方法:
1.创建 .env
|
|
2.搜的
|
|
参考文章
文章作者 BING
上次更新 2020-09-05