在子项目中获取gitlab父项目详细信息
我正在使用下面两个gitlab存储库在子项目中获取gitlab父项目详细信息,gitlab,gitlab-ci,gitlab-api,Gitlab,Gitlab Ci,Gitlab Api,我正在使用下面两个gitlab存储库 父Gitlab repo-应用程序代码,例如-Angular应用程序 子Gitlab repo-对于Gitlab管道,只有Gitlab-ci.yml文件,其中包含运行管道的脚本 我使用以下步骤从父级调用管道/子项目gitlab-ci.yml文件 父Gitlab repo-Gitlab-ci.yml文件 include: - project: 'my-group/child-project' ref: master file: '/te
include:
- project: 'my-group/child-project'
ref: master
file: '/templates/.gitlab-ci-template.yml'
stages:
- test
- build
before_script:
- export PARENT_PROJECT_NAME = ?
- export PARENT_PROJECT_PIPELINE_ID = ?
- export PARENT_PROJECT_BRANCH_NAME = ?
job 1:
stage: test
script:
- echo "Runnig test for project ${PARENT_PROJECT_NAME}"
- node_modules/.bin/ng test
release_job:
stage: build
script: node_modules/.bin/ng build --prod
artifacts:
name: "project-$CI_COMMIT_REF_NAME"
paths:
- dist/
only:
- tags
子项目-gitlab-ci.yml文件
include:
- project: 'my-group/child-project'
ref: master
file: '/templates/.gitlab-ci-template.yml'
stages:
- test
- build
before_script:
- export PARENT_PROJECT_NAME = ?
- export PARENT_PROJECT_PIPELINE_ID = ?
- export PARENT_PROJECT_BRANCH_NAME = ?
job 1:
stage: test
script:
- echo "Runnig test for project ${PARENT_PROJECT_NAME}"
- node_modules/.bin/ng test
release_job:
stage: build
script: node_modules/.bin/ng build --prod
artifacts:
name: "project-$CI_COMMIT_REF_NAME"
paths:
- dist/
only:
- tags
如何在运行管道的子项目中获取父回购详细信息,如父项目名称、管道id和分支名称
一种方法是在父项目中定义变量并在子项目中使用,但是有没有其他方法可以直接访问子项目中的父项目详细信息?因为您是
包括子项目的配置,而不是触发它,这两个管道定义文件在管道启动之前合并为一个,因此这种方法与将子项目定义的内容放在父项目中没有实际区别
因此,如果管道在父项目上运行,则所有的项目都将基于父项目。例如,像$CI\u COMMIT\u REF\u NAME
,$CI\u PROJECT\u NAME
这样的变量将指向父项目和父项目的分支。如果您可以使用真正的“父子”管道gitlab功能(这里不是这种情况),那么您可以将其连接到下游管道。为什么不能将子管道放在(实际管道)在父级?由于架构设计,我们使所有项目的管道配置通用。以使事情一致。