我正在对对terragrunt.hcl文件执行提交的目录运行合规性扫描。 我希望当且仅当对某个目录及其子目录中的特定文件“terragrunt.hcl”的提交发生更改时,才会触发从我的. gitlab-ci.yaml开始的管道。有没有办法用gitlab的ci/cd工具来做这件事,或者只运行一个定制的构建脚本会更容易? 下面这个一行的bash做了我想要的,但问题是,当我只想在特定的terragrunt.hcl上构建时,它仍然会触发任何提交的管道。 for i in $(git diff-tree --no-commit-id --name-only -r $CI_COMMIT_SHA | xa
我试图在Gitlab CI中运行一个构建脚本,但是它抱怨一个语法错误,我不明白。
这是我在Gitlab中配置的脚本:
# test syntax of all *.php and *.ctp files
for f in $(find . -name "*.php" -or -name "*.ctp")
do
php -l $f
done
这是Gitlab提交后的输出:
cd /opt/gitlab-runner/embedded/service/gitlab-runner/tmp/builds/project-1 && git res
我注册了11个GitLab跑步者的项目。除1个项目外,每个项目的跑步者工作良好。我第一次注册这个项目的跑步者,它是有效的。但是,在提交/推送一些更改后,会发生错误并导致作业失败。我看到了一些解决方案,升级git版本解决了一个问题,但我不这么认为。因为除了这个项目,所有的跑步者都工作得很好。
服务器操作系统: CentOS 7
git: 1.8.3.1
First time registered runner
>Running with gitlab-runner 11.9.2 (...)
on (...)
Using Shell executor...
Running on loca
在我的Gitlab项目中,我设置了Gitlab变量MY_VAR_DEV和MY_VAR_PROD。
根据提交分支的不同,我想要CI/CD管道(.gitlab-ci.yml文件)上的不同行为,根据以下代码:
- if [ $CI_COMMIT_BRANCH == "dev" ]; then export ENV="DEV"; fi
- if [ $CI_COMMIT_BRANCH == "prod" ]; then export ENV="PROD"; fi
- TMP_MY_VAR="MY_VAR_${ENV}"
-