合并提交后在 git ci/cd 上触发脚本
Posted
技术标签:
【中文标题】合并提交后在 git ci/cd 上触发脚本【英文标题】:Trigger scripts on git ci/cd after merge committed 【发布时间】:2019-07-25 07:39:36 【问题描述】:我想从 git ci/cd 调用一些脚本。 第一个脚本应该在抛出合并请求时执行,然后在管理员提交请求后,我想执行另一个脚本
这是我现在在 .yml 上的代码:
script1:
script:
- sshpass -p password ssh user@host "cmd.exe /c powershell.exe path\to\local\script1"
only:
- merge_requests
script2:
script:
- sshpass -p password ssh user@host "cmd.exe /c powershell.exe path\to\local\script2"
stage: deploy
使用这些代码,当合并请求被抛出时,git ci 仍然执行我的 script2,并在提交请求后部署我的主分支。 我只想执行我的 script2 代码中描述的脚本而不进行任何部署。
【问题讨论】:
【参考方案1】:最后我只在我的目标分支上使用。
这是我使用的最终代码:
script1:
script:
- sshpass -p password ssh user@host "cmd.exe /c powershell.exe path\to\local\script1"
only:
- merge_requests
script2:
script:
- sshpass -p password ssh user@host "cmd.exe /c powershell.exe path\to\local\script2"
only:
- mytargetbranch
【讨论】:
以上是关于合并提交后在 git ci/cd 上触发脚本的主要内容,如果未能解决你的问题,请参考以下文章
CI/CD技术专题「Jenkins实战系列」如何通过Gitlab对接Jenkins构建提交自动触发部署构建体系指南(上部)
尝试在 webhook 触发后在服务器上运行 git pull,但无法正常工作