【问题标题】:Best way to update code on Azure Linux VMSS from Git using JENKINS使用 JENKINS 从 Git 更新 Azure Linux VMSS 代码的最佳方式
【发布时间】:2022-11-25 17:57:56
【问题描述】:

我计划使用 Azure VMSS 部署一组 spring boot 应用程序。我计划创建一个自定义 linux VM 映像,其中包含所有必需的软件/实用程序以及所需的目录结构,并在 VMSS 中配置此映像。我们使用 jenkins 作为 CI/CD 工具,使用 Git 作为源代码仓库。在 VMSS 上构建和部署这些 Spring Boot 应用程序的最佳方式是什么?

我认为一种方法是编写一个自定义脚本扩展,它从 Git 存储库下载代码,然后启动这些 spring boot 应用程序。我相信每次配置新 VM 时都会执行此脚本。

但是,如果已经有多个 VM 在最小规模实例数之上运行,情况又如何呢?我相信手动重启不会触发 CSE 脚本在这些已经运行的虚拟机上运行,​​对吗?

谁能建议最好的处理方法?

此外,一旦 VM 由于自动缩小而被解除分配,将日志文件从 VM 备份到存储(blob 或文件共享)的最佳/成本最优方法是什么?

【问题讨论】:

  • @Jacob,您好,在 VMSS 代理池设置中启用每次使用后自动拆除虚拟机的答案对您有帮助吗?如果有帮助,请提醒accept an answer
  • @SukiJi-MSFT,我相信这个功能是 Azure pipeline/devops 的一部分。我专门在 VM 规模集中寻找这样的功能。
  • 是的,配置VMSS代理后,您可以在组织设置/项目设置>>代理池>>VMSS代理池>>设置中找到该按钮。

标签: azure-devops azure-virtual-machine azure-cli azure-vm-scale-set azure-git-deployment


【解决方案1】:

你可以启用每次使用后自动拆除虚拟机在组织设置/项目设置 >> 代理池 >> VMSS 代理池 >> 设置中。然后,一个新的 VM 实例用于每个作业。运行一个作业后,VM 将脱机并重新映像,然后再开始另一个作业。自定义脚本扩展将在创建或重新映像后立即在规模集中的每个虚拟机上执行。这是参考文档:Create the scale set agent pool

要从虚拟机备份日志文件,您可以参考Troubleshoot and support 目标虚拟机上的相关文件路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2012-01-14
    • 2014-01-08
    • 1970-01-01
    相关资源
    最近更新 更多