作为 QA 管道(在 Jenkins 中)的一部分,目标是自动配置和配置虚拟机以运行 QA 测试。
Jenkins 管道可以触发 Terraform 代码来自动配置 VM 和用于配置 VM 的 Ansible 代码,但是,诸如此类的问题rollback, 错误处理除非我们使用某些供应商特定的模板(例如 AzureResourceManager 模板),否则这并不容易。
那么,使用 Jenkins 管道,在 Azure 云中预配和配置 VM 的最佳方法应该是什么?我们为詹金斯管道编写管道脚本...
由于目标是了解自动预配和配置 VM 以运行 QA 测试的最佳方法,因此我将通过利用其中的 Azure CLI 命令来使用简单的 jenkins 管道脚本。
准确地说,我只是将 Azure 服务主体添加到 Jenkins 凭据中。然后编写简单的 Jenkins 管道脚本,方法是 'withCredentials([azureServicePrincipal('SERVICEPRINCIPALCREDENTIALID')])' 然后使用 'sh' 部分使用 Azure CLI 命令来预配和配置 VM。与此相关的插图您可以参考https://learn.microsoft.com/en-us/azure/jenkins/execute-cli-jenkins-pipeline#add-azure-service-principal-to-jenkins-credential https://learn.microsoft.com/en-us/azure/jenkins/execute-cli-jenkins-pipeline#add-azure-service-principal-to-jenkins-credential.
关于使用 Jenkins 管道触发 Ansible 代码(使用或不使用 ARM 模板)的方法时的回滚和错误处理等问题,该代码可以自动配置和配置虚拟机以运行 QA 测试,(您可能已经知道但想让您知道)对于某些类型的任务,您可以编写可以利用错误处理功能的自定义模块,并且在少数情况下您可以利用“failed_when”选项。此外,您还可以利用“块”功能,通过该功能可以定义一组要在rescue: 部分中执行的任务。这种“阻止”功能特别应该有助于我们回滚事情。
希望这可以帮助!! :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)