使用 Jenkins 进行 Azure 配置

2024-03-05

作为 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(使用前将#替换为@)

使用 Jenkins 进行 Azure 配置 的相关文章

随机推荐

  • 如何从 FastAPI 应用程序获取每条路线路径?

    我是 FastAPI 和 Python 的新手 我需要获取根路径上的所有路由并将其显示给用户 但是 我找不到递归获取所有路径的方法 API 的版本借助以下工具进行 VersionedFastAPI并且当前代码没有给出版本内部的路径 它只返回
  • 动态地将行“透视”为列 - SQL Server

    我有一个看起来像这样的表 DtCreated UserName Question Answer 2016 09 24 14 30 11 927 mauricio Senha 99658202 2016 09 24 14 30 11 927
  • 创建或编辑模型实例时 Django admin 404 错误

    我目前正在调试 Django 站点的一个奇怪问题 其中一个特定模型在创建新实例或在管理界面中编辑现有实例时触发 404 错误 具体来说 该错误是在提交表单时发生的 我可以GET变化形式就好了 这种情况仅发生在实时站点上并且仅在保存此模型时发
  • 语法写作工具[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试用 EBNF 编写语法 除非有很好的理由 否则它必须是 EBNF 并且正在寻找一些实用程序 如果有一个 GUI 界面可以制作一个
  • String 类型和 string 类型有什么区别?

    有谁知道之间的区别String and string在打字稿中 我假设它们应该相同是否正确 var a String test var b string another test a b b a this gives a compiler
  • 用于本地主机上传和安装 WooCommerce 的 WordPress FTP 连接设置

    我无法上传 WooCommerce zip 文件并在本地主机上安装插件 每次我单击安装按钮时 WordPress 都会询问 FTP 凭据的连接信息 如下图所示 即使我输入 localhost 作为主机名 输入 admin 作为用户名 但它不
  • 如何删除存储库中的文件,同时在本地保留(和忽略)它们?

    我错误地将一些本地项目文件添加到 git 存储库并提交 推送它们 我想从远程存储库中删除这些文件 将它们保留在本地 并在将来的提交 推送中忽略它们 解决这个问题的最佳方法是什么 最干净的解决方案如下 git rm cached本地的额外文件
  • 如果使用 CreateResponse 扩展方法返回 Azure Function HttpResponseMessage,则执行测试时出错

    我的Azure功能代码如下 public static class MyHttpTriggerFunction public static async Task
  • PHP内容分离

    所以我们都知道 不仅在 PHP 中 您应该始终将代码与内容 设计 html 分开 我今天在这里看到有人说相反的 我的意思是 您不希望在更大的项目中使用其中之一 是吗 但是 将代码与内容分离的好方法是什么 我一直在使用一个简单的模板系统 主要
  • Angular2 中的 ViewChildren 装饰器可以与接口一起使用吗?

    我对 Angular 2 的理解是ViewChildren装饰器允许组件获取其他组件或指令的查询 当我知道组件的特定类型时 我可以让它在 Typescript 中工作 但我希望能够获得QueryList当我刚刚知道组件的接口时 这样 我就可
  • 如何提取大型文本文件中两个唯一单词之间的信息

    我有大约 150 个充满字符信息的文本文件 每个文件包含两个独特的单词 alpha 和 bravo 我想提取这些独特单词之间的文本并将其写入不同的文件 我可以手动按 CTRL F 组合这两个单词并复制它们之间的文本 我只是想知道如何使用程序
  • 将 Postgresql 与 Grails 一起使用:缺少序列或表:hibernate_sequence

    我在使用 Grails 2 0 和 Postgresql 9 1 时遇到问题 我正在尝试使用顺序 ID 映射现有数据库 但是 即使没有在域中创建任何类 我也会遇到错误 Compiling 1 source files Running Gra
  • 如何在 Liquid Haskell 中编写 log2 函数

    我正在尝试从 Liquid Haskell 学习book http ucsd progsys github io liquidhaskell tutorial book pdf 为了测试我的理解 我想写一个函数log2它接受 2 n 形式的
  • 让 GCC 优化手工组装

    试图让 GCC 不会每次生成加载 修改 存储操作 or 我定义了以下宏 define bset base offset mask bmanip set base offset mask define bclr base offset mas
  • Spring security 自定义身份验证过滤器,无需 web.xml

    使用注释和java配置 我不太清楚如何为spring security注册一个覆盖的过滤器 我想要实现的是自动登录而不显示登录表单 因为那时用户已经通过身份验证 因此 只会读取标头参数并使用 spring security 进行授权 这是我
  • 可以保留 ASIHTTPRequest 委托吗?

    保留子类的委托可以吗ASIHTTPRequest 我做了一个子类ASIHTTPRequest called JSONRequest 每个实例JSONRequest是它自己的委托 处理回调 并将它们传递给jsonDelegate 这是一个私有
  • 如何动态设置 JPA 标准查询的位置/命名参数?

    Hibernate 提供程序不会生成准备好的语句非字符串类型参数 除非它们设置为entityManager createQuery criteriaQuery setParameter Parameter p T t 默认情况下 如 Ecl
  • 在运行时绑定时,WPF UserControl 不会填充父容器

    我有一个带有 StackPanel 的窗口 并且 StackPanel 有一个 ContentControl 它在运行时获取绑定到它的 UserControl 在 MainWindow xaml 中
  • 测试 Mongoose Node.JS 应用程序

    我正在尝试为我的 Node 应用程序的部分内容编写单元测试 我正在使用 Mongoose 作为我的 ORM 我搜索了很多关于如何使用 Mongoose 和 Node 进行测试的信息 但没有找到任何内容 这些解决方案 框架似乎都是全栈的 或者
  • 使用 Jenkins 进行 Azure 配置

    作为 QA 管道 在 Jenkins 中 的一部分 目标是自动配置和配置虚拟机以运行 QA 测试 Jenkins 管道可以触发 Terraform 代码来自动配置 VM 和用于配置 VM 的 Ansible 代码 但是 诸如此类的问题rol