当 Git 命令失败时,我可以中止电子邮件消息或采取不同的操作吗
Can I abort email-messages or take a different action when Git commands fail
我有一份 Jenkins 工作:
- Git 刷新本地工作区的 SCM。
- 一个 shell 脚本,它还运行一些 Git CLI 命令来进行一些断言,并构建一个动态
recipients.txt
文件供 ext-email
发送。
- Email Ext 发送消息,这应该仅在成功刷新工作区时,然后基于 shell 脚本中的测试中基于 Git 命令的一些失败断言。当前由
Failure - Any
. 触发
我想做的是在远程 Git 中断导致 Git 命令中止的情况下避免特定的失败电子邮件 - 如果所有 Git 命令成功,但随后检测到特定条件。
在 Git 命令由于远程问题而失败的情况下,是否有办法中止构建而不发送 Email Ext 消息?当 Git 失败时,最好尝试弄清楚如何中止构建和电子邮件,或者是否有一些 Email Ext 触发器可以避免这种情况?
如果我了解问题的核心,您只是不想在 Git CLI 命令失败时触发错误。您可以在 try/catch 块中执行 git shell 命令。这应该可以防止出现非零错误代码,因此不会发送任何电子邮件。
sh """
{
git clonep https://...
# oops, typo above would normally exit 1 (error)
} || {
echo Continuing
}
"""
我有一份 Jenkins 工作:
- Git 刷新本地工作区的 SCM。
- 一个 shell 脚本,它还运行一些 Git CLI 命令来进行一些断言,并构建一个动态
recipients.txt
文件供ext-email
发送。 - Email Ext 发送消息,这应该仅在成功刷新工作区时,然后基于 shell 脚本中的测试中基于 Git 命令的一些失败断言。当前由
Failure - Any
. 触发
我想做的是在远程 Git 中断导致 Git 命令中止的情况下避免特定的失败电子邮件 - 如果所有 Git 命令成功,但随后检测到特定条件。
在 Git 命令由于远程问题而失败的情况下,是否有办法中止构建而不发送 Email Ext 消息?当 Git 失败时,最好尝试弄清楚如何中止构建和电子邮件,或者是否有一些 Email Ext 触发器可以避免这种情况?
如果我了解问题的核心,您只是不想在 Git CLI 命令失败时触发错误。您可以在 try/catch 块中执行 git shell 命令。这应该可以防止出现非零错误代码,因此不会发送任何电子邮件。
sh """
{
git clonep https://...
# oops, typo above would normally exit 1 (error)
} || {
echo Continuing
}
"""