tsc*_*ppe 1 yaml gitlab gitlab-ci devops
我为一个应用程序构建了很多不同的 Android 风格,所以我想将构建拆分为不同的 yml 文件。我目前有我的基本文件.gitlab-ci.yml
image: alvrme/alpine-android:android-29-jdk11
variables:
GIT_SUBMODULE_STRATEGY: recursive
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
- chmod +x ./gradlew
cache:
key: "$CI_COMMIT_REF_NAME"
paths:
- .gradle/
stages:
- test
- staging
- production
- firebaseUpload
- slack
include:
- local: '/.gitlab/bur.yml'
- local: '/.gitlab/vil.yml'
- local: '/.gitlab/kom.yml'
Run Code Online (Sandbox Code Playgroud)
我目前正在尝试打造 3 种不同的口味。但我不知道为什么只有最后包含的 yml 文件被执行。前 2 个被忽略。
/.gitlab/bur.yml
unitTests:
stage: test
script:
- ./gradlew testBurDevDebugUnitTest
Run Code Online (Sandbox Code Playgroud)
/.gitlab/vil.yml
unitTests:
stage: test
script:
- ./gradlew testVilDevDebugUnitTest
Run Code Online (Sandbox Code Playgroud)
/.gitlab/kom.yml
unitTests:
stage: test
script:
- ./gradlew testKomDevDebugUnitTest
Run Code Online (Sandbox Code Playgroud)
您观察到的行为看起来像预期的行为:
您的三个文件.gitlab/{bur,vil,kom}.yml包含相同的作业名称unitTests。
因此,每个人include都会优先考虑这项工作的规范。
因此,您unitTests最终只能获得 1 个作业,且具有最后一个 YAML 文件中的规范。
因此,最简单的解决方法是更改此作业名称,例如:
unitTests-kom:
stage: test
script:
- ./gradlew testKomDevDebugUnitTest
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3381 次 |
| 最近记录: |