运行 Kubectl DevOps 任务,具有 运行 时间指定的资源详细信息
Run Kubectl DevOps task with run-time specified resource details
我们正在 Azure DevOps 中构建一个发布管道,它会推送到 Kubernetes 集群。管道中的第一步是 运行 一个设置所有资源的 Azure CLI 脚本 - 这是一个幂等脚本,因此我们每次 运行 发布管道时都可以 运行 它。我们的目的是拥有一个标准化的发布管道,我们可以 运行 针对多个集群,现有的和新的。
管道中的最后一步是使用 apply
命令 运行 Kubectl 任务。
但是,此管道任务需要提前(在构建管道时)指定执行任务的资源组和集群的名称。但是第一步幂等脚本的重点是保证资源,如果没有就创建。
所以有可能在管道运行之前资源组和集群都不存在。
如果 Kubectl 任务需要在设计时指定资源组和集群,我如何在 DevOps 管道中实现这一点?
此 Kubectl task 适用于服务连接类型:Azure 资源管理器。 select Azure 订阅后需要 select 资源组字段和 Kubernetes 集群字段,如下所示。
经过测试,我们发现这2个字段是支持变量的。因此,您可以在这两个字段中使用变量,并使用 PowerShell 任务 在此 Kubectl task 之前设置变量值。有关详细信息,请参阅:在脚本中设置变量。
我们正在 Azure DevOps 中构建一个发布管道,它会推送到 Kubernetes 集群。管道中的第一步是 运行 一个设置所有资源的 Azure CLI 脚本 - 这是一个幂等脚本,因此我们每次 运行 发布管道时都可以 运行 它。我们的目的是拥有一个标准化的发布管道,我们可以 运行 针对多个集群,现有的和新的。
管道中的最后一步是使用 apply
命令 运行 Kubectl 任务。
但是,此管道任务需要提前(在构建管道时)指定执行任务的资源组和集群的名称。但是第一步幂等脚本的重点是保证资源,如果没有就创建。
所以有可能在管道运行之前资源组和集群都不存在。
如果 Kubectl 任务需要在设计时指定资源组和集群,我如何在 DevOps 管道中实现这一点?
此 Kubectl task 适用于服务连接类型:Azure 资源管理器。 select Azure 订阅后需要 select 资源组字段和 Kubernetes 集群字段,如下所示。
经过测试,我们发现这2个字段是支持变量的。因此,您可以在这两个字段中使用变量,并使用 PowerShell 任务 在此 Kubectl task 之前设置变量值。有关详细信息,请参阅:在脚本中设置变量。