powershell - 在 powershell 中跟踪 Maven 命令状态
问题描述
我有一个 powershell 脚本,我正在执行以下操作。
1 克隆 4 不同的 GIT 存储库 2 构建相同
现在的问题是我遇到的是下面的建筑代码
try
{
echo "Initiating mvn Install for msg-lib"
mvn -f "***\pom.xml" clean install
echo "mvn Install for * Completed"
}
catch
{
echo "We had failure in Building the Code for *, the pipeline will fail now"
$returnStatus = 1
}
像这样,对于 1 个应用程序,我每个有四个块,现在我希望如果构建失败,即如果 BUILD FAILS,那么它应该在 catch 块中被跟踪并最终退出 ps 脚本,退出状态为 1
但是现在,即使有任何构建失败,它也会进入下一阶段而不会失败。
请帮助我如何从 clean install maven 命令跟踪构建状态?
我尝试使用Invoke-Expression
,但它跟踪完整的构建日志而不是确切的状态
Invoke-Expression "mvn -f *\pom.xml' clean install") | Tee -variable result
需要一种方法来检查 Maven 构建的状态,是好是坏
解决方案
当您运行批处理脚本或 power shell 脚本来执行 maven 命令时,它类似于来自外部的脚本,并且该脚本将以自己的方式运行。这意味着您的脚本正在将任务委托给另一个脚本。有两种可能,另一种可能成功,也可能失败。您可以手动跟踪是否有故障。你必须以下列方式。
set mvnBuildError=0
if not errorlevel 0 set mvnBuildError=1
if %mvnBuildError%==1 (
REM do other stuffs
)
推荐阅读
- python-3.x - Python 异常没有详细信息
- javascript - 使用 selenium web 驱动程序在地图中的特定位置执行右键单击
- java - 如何在Android中实现侧板
- ssl - SSL/TLS 证书管理(密钥、crt 和 pem)
- kubernetes - 抱怨“extensions/v1beta1 Ingress 已弃用”的日志
- delphi - Azure 存储表访问
- c - 在 C 中使用宏而不是函数有什么好处?
- python - 如何从熊猫数据框中按变量删除第一年的数据?
- stripe-payments - 跨多个域使用 Stripe api 密钥
- swift - 使用 Parse 可以存储多少数据?