假设我有两个目录lib
和src
,并且只希望Codeship构建来自src
目录的提交更改。我如何制作一个Bash脚本来做到这一点?我知道将--skip-ci
标志应用于提交将使Codeship不会创建该提交的构建。非常感谢任何帮助!
答案 0 :(得分:0)
我不熟悉Codeship,但如果您是git用户,则可以执行以下操作之一:
submodules
,然后每当有人提交任何这些文件夹时执行提交例如,将此行添加到任何提交挂钩中
if [ $(git diff --name-only HEAD^..HEAD path/ ) ]
并检查这是否属实。
答案 1 :(得分:0)
您可以在测试步骤中直接使用如下命令:
if [[ $(git log -m -n 1 --name-only --pretty=format:"" | grep -e "lib" -e "src" -c) -gt 0 ]]; then run_your_tests; fi
这将显示上次提交的已更改文件,而不显示任何其他元数据,并计算这些行中lib
和src
的出现次数。
如果这些字符串多次出现,它将运行run_your_tests
命令。否则它只会返回。
请注意,这是一个非常粗糙的版本,例如,它不是在文件名的开头查找字符串。但它应该是一个很好的起点。
如果您有任何其他问题,请通过support@codeship.com(或我们的app Messenger)联系我们! (如果我们通过应用内支持添加内容,我会更新答案。
[免责声明]我正在为Codeship工作;)