【问题标题】:To execute azure CLI command as post build action in Jenkins job在 Jenkins 作业中执行 azure CLI 命令作为构建后操作
【发布时间】:2025-06-22 10:40:02
【问题描述】:

我为 Azure ARM 链接模板创建了 git 存储库,它使用 Azure cli 命令创建了一些资源堆栈。但它需要通过 maven 命令构建,然后生成任何 json 参数和模板文件,我们将其上传到 Azure blob 存储(因为这是链接模板的要求)。然后我们从 Azure blob storage 中获取这些模板和参数文件,然后执行 cli 命令部署 azure stack。

在构建步骤中,执行以下命令:

mvn clean install
mvn exec:java -Dexec.args="dev"
mkdir parameters
mkdir resourcetemplates
cp target/classes/parameters/dev/*.json parameters
cp target/classes/resourcetemplates/*.json resourcetemplates

在构建后操作中,我使用 Azure 存储插件将其上传到 blob 存储。 现在,我需要执行 azure cli 命令,如下所示,但问题是我在 jenkins 的下拉列表中的构建后操作中没有获得 Azure-cli 插件选项。

az group deployment create --resource-group rg-test --template-file .\masterazuredeploy.json  --parameters templateBaseUrl=https://test.blob.core.
windows.net/azurestackautomationtest/resourcetemplates/  parameterBaseUrl=https://test.blob.core.windows.net/azurestackautomationtest/parameters

我不想创建另一个 Jenkins 作业并将其作为构建后操作执行。因为我有 N 个环境需要创建这个作业,所以它会创建 N*2 个作业,这是我不想要的。

在构建后步骤中执行 azure cli 命令的任何其他解决方案。

【问题讨论】:

    标签: azure jenkins jenkins-plugins


    【解决方案1】:

    是的,Azure CLI 插件在 Jenkins Marketplace 中可用,只能用作构建步骤,不能用作构建后操作。

    要解决此问题,您可以将“上传到 blob 存储”部分也转换为构建步骤而不是构建后操作,因此您可以使用 Azure CLI 中的az storage blob upload 命令,然后执行上述CLI 步骤也是如此。

    【讨论】:

      最近更新 更多