我是GitLab CI的新手。我有一个项目,其中有一个Gitlab项目,并且有工作生成,检测更改和编译。要求是生成作业从模板生成一些go文件,detectchanges需要作用于相同的代码库,包括生成作业生成的所有更改(例如下面的示例中的tempCreateTest / myfile.txt),并再次与生成作业一样作用于相同的代码库和更改行动。我的问题是: 1.即使使用依赖项,我也看不到生成作业的更改。例如tempCreateTest / myfile.txt不能被detect_changes和编译作业看到 2.当我使用依赖关系时,gitlab到底在哪里下载工件?
有人可以回答这个问题吗?
这是我的示例.gitlab-ci.yml
image: golang:1.11
stages:
- generate
- detect_changes
- build
before_script:
# Setup environment
- export GOPATH=/builds/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/go
- export GO_PROJECT_PATH=$GOPATH/src/gitlab.com/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
- export RAW_REPO_PATH=/builds/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/.
- mkdir -p $GO_PROJECT_PATH
- cp -r $RAW_REPO_PATH/. $GO_PROJECT_PATH
- cd $GOPATH
- export GO111MODULE=on
- cd $GO_PROJECT_PATH
- source ci.sh # This has functions that jobs use
generate_ci:
stage: generate
script:
- generate_ci_script
- mkdir tempCreateTest/ .
- echo "Some text here." > tempCreateTest/myfile.txt # Stages after generate should see the changes
artifacts:
untracked: true
detect_changes_ci:
stage: detect_changes
script:
- detect_changes_ci_script
dependencies:
- generate_ci
compile_ci:
stage: detect_changes
script:
- compile_ci_script
dependencies:
- generate_ci