【问题标题】:run gitlab-ci for sub directory in same project为同一项目中的子目录运行 gitlab-ci
【发布时间】:2022-01-11 17:37:47
【问题描述】:
我在同一个 GitLab 项目中有三个子项目(Angular 和 Node)。现在我想创建gitlab-ci.yml 文件来构建和部署这个子项目之一。我可以创建三个不同的gitlab-ci.yml 并在子目录中运行它们吗?是否可以?还是应该将它们推到三个不同的项目中?
【问题讨论】:
标签:
gitlab
continuous-integration
gitlab-ci
gitlab-ci-runner
gitlab-ci.yml
【解决方案1】:
我个人的偏好是,让项目保持小规模。所以我通常会创建一个 GitLab 项目,例如模块、库、程序、设计等
但如果你真的想要,你可以很容易地:
- 创建一个类似于以下内容的
.gitlab-ci.yml:
my_job:
stage: test
script:
- |
cd "$CI_PROJECT_DIR/folder1"
< do stuff >
cd "$CI_PROJECT_DIR/folder2"
< do stuff>
...
- 在文件夹中创建多个 gitlab-ci 配置,并在根目录中创建 include
.gitlab-ci.yml
include:
- 'folder1/pipeline.yml'
- 'folder2/pipeline.yml'
请注意,当使用第二个选项时,您仍然需要cd folderX,因为管道始终从存储库根目录开始,无论它们是从哪里导入的。