我正在我的gitlab服务器上托管一个plsql项目(有很多存储过程(SP)),每个SP都在一个文件上。我想在每个构建(使用gitlab-ci)上创建一个包含SP更改的新文件。 我的问题是如何在每次构建之间获取具有其状态(新建,删除或修改)的文件列表?请记住,我正在使用gitlab-runner运行gitlab-ci,并且运行器在获取更改之前我有机会进行git diff。
感谢。
更新: 从构建gitlab-ci
中记录Using Shell executor...
Running on rsdesa11...
Fetching changes...
Removing Common/target/
Removing core/target/
Removing loader/target/
Removing model/target/
HEAD is now at 86266c3
答案 0 :(得分:0)
我假设你已经有一个跑步者/共享跑者。如果没有退房: https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md
这取决于你的gitlab-ci-runner。如果你有一个shell运行器(当你注册你的运行器时,选择“shell”),你可以指定一个gitlab-ci.yml和你想要执行的任意bash命令。
job_title:
script:
ls -la
git diff 12345 > my_diff.txt
剩下的就是bash magic,它在很大程度上取决于你的设置如何,文件夹的外观等等。
Docker运行器有点复杂,通常需要更多关于docker命令和卷的知识来做你想做的事。