You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI/CD Pipeline中deploy阶段未执行,如何自动触发该阶段?

GitLab CI Deploy阶段未执行的解决方法

问题原因

你的deploy:openjdk17任务配置了only: master规则,这意味着只有当流水线运行在master分支时,这个任务才会被触发。如果当前触发流水线的分支不是master,GitLab CI会直接忽略这个任务,自然不会在日志里显示deploy阶段。

解决方案

根据你的需求选择以下一种方式修改gitlab-ci.yml:

1. 让所有分支都执行deploy阶段

直接删除only: master配置:

deploy:openjdk17:
  stage: deploy
  script:
    - 'mvn $MAVEN_CLI_OPTS clean javafx:jlink com.coderplus.maven.plugins:copy-rename-maven-plugin:1.0:copy'

2. 指定多个分支执行deploy阶段

如果需要在master和其他分支(比如develop)执行,修改only为数组:

deploy:openjdk17:
  stage: deploy
  script:
    - 'mvn $MAVEN_CLI_OPTS clean javafx:jlink com.coderplus.maven.plugins:copy-rename-maven-plugin:1.0:copy'
  only:
    - master
    - develop

3. 使用更灵活的rules替代only(推荐)

GitLab CI推荐使用rules来控制任务执行,比如只在master分支自动执行,同时允许手动触发其他分支的deploy:

deploy:openjdk17:
  stage: deploy
  script:
    - 'mvn $MAVEN_CLI_OPTS clean javafx:jlink com.coderplus.maven.plugins:copy-rename-maven-plugin:1.0:copy'
  rules:
    - if: $CI_COMMIT_BRANCH == "master"
      when: always
    - if: $CI_PIPELINE_SOURCE == "web"
      when: manual

验证方法

修改配置后提交到对应分支,触发流水线,查看是否出现deploy阶段的任务日志。

内容的提问来源于stack exchange,提问作者Leder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 12:05:02