gitlab-ci - 生产/登台在 gitlab-ci 作业中从 registry.gitlab.com 自动安装新的 docker 映像
问题描述
我使用以下步骤创建了一个 GitLab CI 管道:
- 皮棉
- 测试
- build(创建 docker 包,在 register.gitlab.com 中注册)
从那里我想添加第四步,这将触发我的 Docker 服务器拉取新的 docker 映像并安装它(当然,当在 master 中完成合并时)。
我想知道是否有一种标准方法可以做到这一点,而不是 gitlab-ci.yml 脚本中的 sshing 和东西。
我怎样才能做到这一点?
谢谢
解决方案
.gitlab-ci.yml片段可能如下所示:
...
step 3 - build and deploy:
script:
- docker build -t "${IMAGE_TAG}" .
- docker login registry.example.com -u <username> -p <token>
- docker push ${IMAGE_TAG}
step 4 - pull and validate:
script:
- docker login registry.example.com -u <username> -p <token>
- docker pull ${IMAGE_TAG}
- <test your pulled docker image however you want>
我不明白你在ssh'ing 什么。您可以生成令牌并登录到 gitlab 注册表。文档中的更多信息
推荐阅读
- html - 如何在 Angular 中使用嵌套表单并在 Mongodb 中保存数据
- amazon-web-services - 我正在尝试在 AWS 云 9 中包含部分 header.ejs 和 footer.ejs
- ios - 设置 UI 框架在 iPhone X 上无法正常工作;适用于 iPhone 6s
- c# - C# HttpWebRequest “底层连接已关闭:预期保持活动状态的连接已被服务器关闭。”
- groovy - Groovy 中的惰性映射值
- python - Python-将元组列表拆分为子列表
- elasticsearch - Elasticsearch Sink Connector 是否像 JDBC sink 连接器一样支持主键上的 upsert 模式?
- ruby - 如何将黄瓜连接到 oracle 数据库以验证 xml
- java - 如果我们要升级操作系统和数据库版本,是否需要对 Java Web 应用程序代码进行修改?
- javascript - highcharts悬停效果问题