Gitlab CI/CD 不会 运行 我的部署阶段
Gitlab CI/CD will not run my deploy stage
Gitlab 新手 CI/CD。我的构建作业运行良好,但部署作业从未执行过。我删除了所有规则,但仍然没有 运行.
这是我的 .gitlab-ci.yml 文件的内容:
build-job:
stage: build
script:
- echo "STAGE - BUILD"
- echo $CI_JOB_STAGE
- echo $CI_COMMIT_MESSAGE
- echo $CI_COMMIT_BRANCH
- echo $CI_ENVIRONMENT_NAME
- mkdir bin
- mkdir obj
- "dotnet build"
deploy-to-staging:
stage: deploy
script:
- echo "STAGE - DEPLOY (STAGING)"
知道为什么 Gitlab 会跳过部署阶段吗?我必须明确定义我的阶段吗?我试过了,但没有任何区别(这些行在 yml 文件的底部有一段时间):
stages:
- build
- deploy
虽然在 stages documentation 中没有明确说明,但您通常应该将它们设置在顶部。
如果遇到 yaml invalid
故障,请使用 CI lint tool 仔细检查间距等,而无需 运行 管道。
请记住:
- 如果作业失败,则不会开始下一阶段。
- 如果您不定义阶段,那么它会使用构建、测试、部署。
- 任何未定义阶段的作业都假定为
test
。
- 任何不使用的阶段都应该简单地隐藏起来。但是,确切的行为可能取决于您使用的 GitLab 版本。 (如果内存正确,这已更改,但我不能手头的合并请求。)
如您在 the official documentation of Gitlab CI 中所见,通过定义 stages
,将指定作业的顺序和执行顺序。
所以下面的 gitlab-ci.yml
应该有效:
stages:
- build
- deploy
build-job:
stage: build
script:
- echo "STAGE - BUILD"
- echo $CI_JOB_STAGE
- echo $CI_COMMIT_MESSAGE
- echo $CI_COMMIT_BRANCH
- echo $CI_ENVIRONMENT_NAME
- mkdir bin
- mkdir obj
- "dotnet build"
deploy-to-staging:
stage: deploy
script:
- echo "STAGE - DEPLOY (STAGING)"
截图:
Gitlab 新手 CI/CD。我的构建作业运行良好,但部署作业从未执行过。我删除了所有规则,但仍然没有 运行.
这是我的 .gitlab-ci.yml 文件的内容:
build-job:
stage: build
script:
- echo "STAGE - BUILD"
- echo $CI_JOB_STAGE
- echo $CI_COMMIT_MESSAGE
- echo $CI_COMMIT_BRANCH
- echo $CI_ENVIRONMENT_NAME
- mkdir bin
- mkdir obj
- "dotnet build"
deploy-to-staging:
stage: deploy
script:
- echo "STAGE - DEPLOY (STAGING)"
知道为什么 Gitlab 会跳过部署阶段吗?我必须明确定义我的阶段吗?我试过了,但没有任何区别(这些行在 yml 文件的底部有一段时间):
stages:
- build
- deploy
虽然在 stages documentation 中没有明确说明,但您通常应该将它们设置在顶部。
如果遇到 yaml invalid
故障,请使用 CI lint tool 仔细检查间距等,而无需 运行 管道。
请记住:
- 如果作业失败,则不会开始下一阶段。
- 如果您不定义阶段,那么它会使用构建、测试、部署。
- 任何未定义阶段的作业都假定为
test
。 - 任何不使用的阶段都应该简单地隐藏起来。但是,确切的行为可能取决于您使用的 GitLab 版本。 (如果内存正确,这已更改,但我不能手头的合并请求。)
如您在 the official documentation of Gitlab CI 中所见,通过定义 stages
,将指定作业的顺序和执行顺序。
所以下面的 gitlab-ci.yml
应该有效:
stages:
- build
- deploy
build-job:
stage: build
script:
- echo "STAGE - BUILD"
- echo $CI_JOB_STAGE
- echo $CI_COMMIT_MESSAGE
- echo $CI_COMMIT_BRANCH
- echo $CI_ENVIRONMENT_NAME
- mkdir bin
- mkdir obj
- "dotnet build"
deploy-to-staging:
stage: deploy
script:
- echo "STAGE - DEPLOY (STAGING)"
截图: