1

我正在我的 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
4

1 回答 1

0

我假设您已经有一个跑步者/共享跑步者。如果不检查: https ://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md

这有点取决于你的 gitlab-ci-runner。如果你有一个 shell 运行器(当你注册你的运行器时,选择“shell”),你可以用你想要执行的任意 bash 命令指定一个 gitlab-ci.yml。

job_title:
  script:
    ls -la
    git diff 12345 > my_diff.txt

剩下的就是 bash 魔法,它在很大程度上取决于你的设置是什么样的,你的文件夹是什么样的等等。

Docker 运行器有点复杂,通常需要更多关于 docker 命令和卷的知识才能完成您想做的事情。

于 2016-02-07T15:47:48.540 回答