我已经为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
答案 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 解决了这个问题