You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline中如何让Pulumi使用缓存的Conda环境?

解决方案

方法1:直接在激活的Conda环境中运行Pulumi命令

Pulumi@1任务默认不会继承之前Shell步骤激活的环境,所以可以跳过Pulumi@1任务,改用bash任务显式激活Conda环境后执行命令:

# 替换原有的Pulumi@1任务
- bash: |
    source activate $(CONDA_ENV_NAME)
    pulumi preview --diff --show-config --show-reads --show-replacement-steps --stack $(pulumiStackShort)
  displayName: 运行Pulumi预览
  env:
    AZURE_CLIENT_ID: $(AZURE_CLIENT_ID)
    AZURE_CLIENT_SECRET: $(AZURE_CLIENT_SECRET)
    AZURE_TENANT_ID: $(AZURE_TENANT_ID)

方法2:动态配置Pulumi.yaml的virtualenv路径

你之前在Pulumi.yaml中使用的$(CONDA)是Azure Pipeline变量,Pulumi无法直接解析。可以通过Pipeline步骤动态替换路径:

  1. 先修改Pulumi.yaml为模板形式:
name: AlertRulesPulumi
description: A minimal Azure Native Python Pulumi program
runtime:
    name: python
    options:
        virtualenv: __CONDA_ENV_PATH__
  1. 在Pipeline中添加替换步骤:
- bash: |
    sed -i "s|__CONDA_ENV_PATH__|$(CONDA_ENV_DIR)|g" Pulumi.yaml
  displayName: 替换Pulumi.yaml中的Conda环境路径
  1. 保留原有的Pulumi@1任务即可,Pulumi会自动读取配置的虚拟环境路径。

方法3:通过PATH环境变量指定优先使用Conda环境的Python

在Pulumi@1任务的环境变量中,把Conda环境的bin目录放到PATH最前面,让Pulumi优先使用该环境的Python解释器:

- task: Pulumi@1
  inputs:
    azureSubscription: 'Something'
    command: 'preview'
    args: '--diff --show-config --show-reads --show-replacement-steps'
    stack: $(pulumiStackShort)
    cwd: "./"
  env:
    AZURE_CLIENT_ID: $(AZURE_CLIENT_ID)
    AZURE_CLIENT_SECRET: $(AZURE_CLIENT_SECRET)
    AZURE_TENANT_ID: $(AZURE_TENANT_ID)
    PATH: "$(CONDA_ENV_DIR)/bin:$(PATH)"

内容的提问来源于stack exchange,提问作者Tensing2009

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:05:21