GITLAB CI管道未触发

时间:2020-03-31 04:37:39

标签: continuous-integration gitlab

我已经为GitLab CI / CD编写了这个yml文件。有一个已配置并正在运行的共享运行器。 我是第一次这样做,不知道哪里出问题了。我有的角度js项目 在仓库上有一个gulp构建文件,可以在本地计算机上完美运行。这段代码只需要触发 我的跑步者所在的虚拟机上的那个。提交时,管道不显示任何作业。让我知道需要纠正什么!

image: docker:latest

cache:
  paths:
    - node_modules/

deploy_stage:
  stage: build
  only:
    - master
  environment: stage
  script:
  - rmdir -rf "build"
  - mkdir "build"
  - cd "build"
  - git init
  - git clone "my url"
  - cd "path of cloned repository"
  - gulp build

4 个答案:

答案 0 :(得分:2)

您要提交到哪个分支?您的管道已配置为仅在master分支上为提交运行。

...
  only:
    - master
...

如果您还希望触发其他分支的作业,请从.gitlab-ci.yml文件中删除此限制。

不要忘记Enable shared Runners(默认情况下可能不会启用),可以在GitLab项目页面的Settings -> CI/CD -> Runners下找到设置。

更新:您的管道触发器是否曾经为您的项目工作过?

如果没有,那么我将尝试配置简单的管道只是为了测试触发器是否工作正常:

test_simple_job:
  script:
    - echo I should execute for any pipeline trigger.

答案 1 :(得分:0)

我只想补充一点,我遇到了类似的问题。我正在提交我的代码,但我根本没有看到管道触发器。在 gitlab 和我的 vscode 中也没有错误声明。它之前运行良好。我的问题是因为我最近对我的 yaml 进行了一些无效的编辑。我将更改恢复为已知的有效 yaml 代码,它再次运行并通过了。

答案 2 :(得分:0)

我也有这个问题。我想我会记录原因,希望它可以帮助某人(尽管这不是对原始问题的严格答案,因为我的部署脚本更复杂)。

因此,就我而言,原因是我的 .gitlab-ci.yml 中有多个具有相同作业 ID 的作业。后一个基本上使前一个不可见。


# This job will never run:
deploy_my_stuff:
  script:
    - do something for job one

# This job overwrites the above.
deploy_my_stuff:
  script:
    - do something for job two

很明显……在我发现错误之后。

答案 3 :(得分:0)

我通过将 .gitlab-ci.yaml 重命名为 .gitlab-ci.yml 解决了这个问题