我使用 CircleCI ,并且管道如下:
app
和nginx
Docker映像,并将其推送到 GitLab注册表 我刚从{strong> CircleCI 发送成功消息后,将我的develop
分支推送到我的存储库,并在开发服务器上遇到了“ Symfony4新的Controller页面” 。
我通过SSH登录并执行了(带有应用程序服务的输出):
docker stack ps my-development-stack --format "{{.Name}} {{.Image}} {{.CurrentState}}"
my-stack_app.1 gitlab-image:latest-develop Running 33 minutes ago
在我的 GitLab 存储库的注册表中,应用程序映像已“最近更新” 41 minutes ago
。显然,该服务的图像在最新版本之前已经刷新。
答案 0 :(得分:0)
也许最好(尽管不理想)在构建和部署之间引入延迟,您可以在此处参考此示例CircelCI Delay Between Jobs
答案 1 :(得分:0)
我发现了使用由 CRON 触发的 CircleCI 预定工作流程的解决方法。我安排了一个每晚构建工作流,该工作流每天午夜运行。
我的config.yml
文件的样本
# Beginning of the config.yml
# ...
workflows:
version: 2
# Push workflow
# ...
# Nightly build workflow
nightly-dev-deploy:
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- develop
jobs:
- build
- test:
requires:
- build
- deploy-dev:
requires:
- test
中,通过每晚的构建示例详细了解计划的工作流程。
对我来说更像是一种解决方法。我很高兴听到您如何避免此问题,从而可以更好地回答该问题。