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

如何在Renovate中配置自定义环境变量访问GitHub Actions密钥

解决Renovate配置访问GitHub Actions环境变量的问题

核心原因

process.env.VARIABLE_NAME无法生效是因为Renovate配置文件的执行上下文无法直接访问GitHub Actions的环境变量,需要使用Renovate支持的Handlebars模板语法来引用环境变量,而非Node.js的process.env。

步骤1:在GitHub Actions Workflow中传递环境变量

确保你的Workflow将GitHub Secrets作为环境变量传递给Renovate步骤:

- name: 运行Renovate
  uses: renovatebot/github-action@v39
  env:
    AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }}
    AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }}
    RENOVATE_CONFIG_FILE: ./renovate-config.js

步骤2:修改Renovate配置文件

在renovate-config.js中,使用{{ env.VARIABLE_NAME }}模板语法引用环境变量,不需要在customEnvVariables中额外配置(除非你需要定义自定义内部变量):

module.exports = {
  platform: 'github',
  logLevel: 'debug',
  labels: ['renovate', 'dependencies', 'automated'],
  onboarding: false,
  onboardingConfig: {
    extends: ['config:base', 'disableDependencyDashboard']
  },
  cacheDir: "/tmp/renovate",
  renovateFork: true,
  gitAuthor: "renovate <renovate@hhpv.de>",
  username: "Renovate",
  printConfig: true,
  requireConfig: false,
  baseBranches: ["ecr-renovate"],
  // customEnvVariables留空即可,若需定义自定义变量可在此添加,例如:
  // customEnvVariables: {
  //   CUSTOM_VAR: "自定义值"
  // },
  hostRules: [
    {
      hostType: 'docker',
      matchHost: '123456456.dkr.ecr.eu-central-1.amazonaws.com',
      username: '{{ env.AWS_ACCESS_KEY }}',
      password: '{{ env.AWS_SECRET_KEY }}'
    },
  ],
};

关于customEnvVariables的作用

这个字段主要用于定义Renovate内部可用的自定义环境变量,比如:

customEnvVariables: {
  // 直接赋值
  DEFAULT_BRANCH: "main",
  // 若配置文件上下文能访问process.env,也可引用外部变量(但GitHub Actions场景不推荐)
  // AWS_ACCESS_KEY: process.env.AWS_ACCESS_KEY
}

但在GitHub Actions场景下,更可靠的方式是通过Workflow传递环境变量,再用{{ env.* }}模板语法引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 12:35:28