首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Gitlab-CI多项目-管道

Gitlab-CI多项目-管道
EN

Stack Overflow用户
提问于 2018-10-30 19:38:08
回答 4查看 3.5K关注 0票数 2

目前,我正在尝试理解Gitlab-CI多项目管道。我想实现在另一个流水线结束时运行流水线。

示例:我在名称空间baseimages中保存了一个项目参数,其中包含一些配置,如nginx -cgi-params。ci-file如下所示:

代码语言:javascript
运行
复制
stages:
  - release
  - notify

variables:
  DOCKER_HOST: "tcp://localhost:2375"
  DOCKER_REGISTRY: "registry.mydomain.de"
  SERVICE_NAME: "nginx"
  DOCKER_DRIVER: "overlay2"

release:
  stage: release
  image: docker:git
  services:
  - docker:dind
  script:
    - docker build -t $SERVICE_NAME:latest .
    - docker tag $SERVICE_NAME:latest $DOCKER_REGISTRY/$SERVICE_NAME:latest
    - docker push $DOCKER_REGISTRY/$SERVICE_NAME:latest
  only:
    - master

notify:
  stage: notify
  image: appropriate/curl:latest
  script:
    - curl -X POST -F token=$CI_JOB_TOKEN -F ref=master https://gitlab.mydomain.de/api/v4/projects/1/trigger/pipeline
  only:
    - master

现在我想要有多个项目依赖于这个镜像,如果我的基本镜像发生变化,比如新的nginx版本,让它们重新构建。

代码语言:javascript
运行
复制
             baseimage
                 |
    ---------------------------
    |            |            |
project1     project2     project3

如果我向另一个项目添加触发器,并在$GITLAB_CI_TOKEN处插入生成的令牌,则外部管道将启动,但没有文档(https://docs.gitlab.com/ee/ci/multi_project_pipelines.html)中所示的组合图

如何才能显示完整的流水线图?我是否必须将依赖于我的baseimage的每个项目添加到baseimage的CI-File中,或者是否可以在每个项目中订阅baseimage-pipline?

EN

回答 4

Stack Overflow用户

发布于 2018-10-31 02:00:32

多项目管道是GitLab Premium 9.3中的付费功能introduced,只能使用GitLab的Premium或Silver型号访问。

查看此信息的方法是在文档标题的右侧:

票数 1
EN

Stack Overflow用户

发布于 2018-10-31 22:14:17

嗯,在深入研究了一些文档之后,我发现了一句话,它说明Gitlab CE提供了标记为Core-Feature的特性。

票数 1
EN

Stack Overflow用户

发布于 2019-04-01 02:38:02

我们在需要的地方提供了50+ Gitlab包。我们过去所做的是将提交推送到下游包,等待CI完成,然后将另一个提交推送到上游包,等待CI完成,等等。

您可以做的另一件事是手动触发构建,您可以手动确定顺序。

如果这些都不适合你,或者你想要一个更好的方法,我构建了一个名为Gitlab Pipes的工具来帮助你做到这一点。我在内部使用了几个月,意识到人们需要这样的东西,所以我做了公开它的工作。

基本上,它会侦听Gitlab通知,当它看到对包的提交时,它会读取.gitlab-pipes.yml文件来确定项目的依赖关系。它将能够构建项目的依赖关系图,并在下游提交时构建使用者包。

documentation is here,它可以告诉你它是如何工作的。然后是primary app website is here.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53063481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档