Gitlab 阶段对于其他分支是可选的,但是对于主分支是必需的
目前,我们在GitLab CI管道中有4个阶段。 当有人与主分支合并时,所有4个阶段实际上都是强制性的 我可以制作最后一个阶段“only:master”,它将把它从非主分支推送的管道中取出,并将它放在管道中,以便合并到主分支Gitlab 阶段对于其他分支是可选的,但是对于主分支是必需的,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,目前,我们在GitLab CI管道中有4个阶段。 当有人与主分支合并时,所有4个阶段实际上都是强制性的 我可以制作最后一个阶段“only:master”,它将把它从非主分支推送的管道中取出,并将它放在管道中,以便合并到主分支 是否有办法使非主分支推送的最后阶段可选/可选。当我们希望在常规分支上运行此阶段时,有少量实例。我设想begin能够进入分支推送的管道,并能够单击最后一个阶段“启用”此推送和仅此推送。我们最终制作了一个模板,并从中派生了两个步骤,每个步骤都有不同的规则。它工作得很好 .tar
是否有办法使非主分支推送的最后阶段可选/可选。当我们希望在常规分支上运行此阶段时,有少量实例。我设想begin能够进入分支推送的管道,并能够单击最后一个阶段“启用”此推送和仅此推送。我们最终制作了一个模板,并从中派生了两个步骤,每个步骤都有不同的规则。它工作得很好
.tarball: &tarball
stage: package
script:
- whoami
- echo $PATH
- which git-lfs
- echo "Cloning Common/master"
- git clone -b master https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/abc/common.git Common
- echo "Cloning Ansible/${CI_COMMIT_REF_NAME}"
- git clone -b ${CI_COMMIT_REF_NAME} https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/abc/ansible.git Ansible
- echo "Excluding the following from tar- ${TAR_EXCLUDES}"
- tar ${TAR_EXCLUDES} -czf ${TAR_ARCHIVE} Ansible Common
- tar -tf ${TAR_ARCHIVE} > manifest.txt
artifacts:
paths:
- ${TAR_ARCHIVE}
- manifest.txt
tags:
- shell
tarball_master:
<<: *tarball
only:
- master
tarball_other:
<<: *tarball
except:
- master
when: manual
.tarball:&tarball
阶段:包装
脚本:
-哇
-echo$PATH
-哪个git lfs
-echo“克隆公共/主”
-git克隆-b主机https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/abc/common.git common
-echo“克隆Ansible/${CI\u COMMIT\u REF\u NAME}”
-git克隆-b${CI\u COMMIT\u REF\u NAME}https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/abc/ansible.git ansible
-echo“从tar中排除以下内容-${tar_排除}”
-tar${tar_EXCLUDES}-czf${tar_ARCHIVE}可解析公共
-tar-tf${tar_ARCHIVE}>manifest.txt
人工产品:
路径:
-${TAR_ARCHIVE}
-manifest.txt
标签:
-壳
tarball_大师: