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

如何在GitLab CI中配置从镜像源下载Pulumi包?

解决Pulumi在GitLab CI环境中从镜像源下载包的方法

方法1:通过环境变量指定镜像下载地址

Pulumi支持通过PULUMI_DOWNLOAD_URL环境变量自定义插件的下载路径,可直接将其设置为你的镜像源地址,替换默认的GitHub下载路径。

  • 先确认镜像源已同步Pulumi插件的发布包,路径结构需与GitHub Releases保持一致(例如pulumi-resource-<provider>-<version>-<os>-<arch>.tar.gz格式)
  • 在GitLab CI配置文件(.gitlab-ci.yml)中添加环境变量:
    variables:
      PULUMI_DOWNLOAD_URL: "https://your-mirror-domain/pulumi/pulumi-${PROVIDER}/releases/download/v${VERSION}/pulumi-resource-${PROVIDER}-${VERSION}-${OS}-${ARCH}.tar.gz"
    
    其中${PROVIDER}、${VERSION}、${OS}、${ARCH}会被Pulumi自动替换为对应的值,确保镜像源路径结构匹配即可。

方法2:提前下载插件到本地缓存目录

Pulumi会优先读取本地缓存的插件,可在CI任务启动前从镜像源下载所需插件并放入指定缓存目录:

  1. 确定需要的Pulumi插件名称、版本,以及当前CI环境的系统架构(比如linux_amd64)
  2. 在CI脚本中添加下载和解压步骤:
    # 创建对应插件的缓存目录(按需调整版本和架构)
    mkdir -p ~/.pulumi/plugins/resource-aws/v5.36.0/linux_amd64
    # 从镜像源下载插件包
    curl -o pulumi-plugin.tar.gz https://your-mirror-domain/pulumi/pulumi-aws/releases/download/v5.36.0/pulumi-resource-aws-v5.36.0-linux-amd64.tar.gz
    # 解压到缓存目录
    tar -xzf pulumi-plugin.tar.gz -C ~/.pulumi/plugins/resource-aws/v5.36.0/linux_amd64
    
  3. 后续执行pulumi install时,会直接使用本地缓存的插件,不再尝试从GitHub下载。

方法3:直接安装本地插件包

如果已从镜像源获取到插件的tar包,可直接用pulumi plugin install命令指定本地文件安装:

# 从镜像源下载插件包
curl -o pulumi-resource-aws.tar.gz https://your-mirror-domain/pulumi/pulumi-aws/releases/download/v5.36.0/pulumi-resource-aws-v5.36.0-linux-amd64.tar.gz
# 安装本地插件
pulumi plugin install resource aws v5.36.0 --file pulumi-resource-aws.tar.gz

这种方式完全手动控制插件来源,无需依赖自动下载逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:32:41