如何在Backstage.io中编辑环境变量,避免每次启动手动传入?
Backstage中GitLab认证变量的配置方法
问题背景
我的Backstage配置中有如下GitLab认证相关内容:
auth: environment: development providers: gitlab: development: clientId: ${AUTH_GITLAB_CLIENT_ID} clientSecret: ${AUTH_GITLAB_CLIENT_SECRET}
我知道可以在启动时手动传入环境变量,比如:
# 进入Backstage仓库根目录 cd packages/backend env AUTH_GITHUB_CLIENT_ID=eafc816045b5533ba581 AUTH_GITHUB_CLIENT_SECRET=34922f6547991760e8f5219a529a9c00b0fd44ea yarn start
但不想每次启动都手动设置,想找一个持久化的密钥文件存放位置。最终我选择将所有密钥放在app-config.local.yaml文件中,并添加到.gitignore里。
具体配置步骤
1. 创建/编辑app-config.local.yaml文件
在Backstage项目的根目录下找到app-config.local.yaml文件(如果没有则直接新建),在文件中添加GitLab认证的具体变量值:
auth: providers: gitlab: development: clientId: 你的GitLab客户端ID clientSecret: 你的GitLab客户端密钥
这个本地配置文件会自动覆盖app-config.yaml中的占位符配置,无需再手动传环境变量。
2. 将app-config.local.yaml加入.gitignore
打开项目根目录下的.gitignore文件,添加以下内容,避免敏感信息提交到代码仓库:
# Local configuration files app-config.local.yaml
其他可选方式(供参考)
- 可以在项目根目录创建
.env文件,直接定义环境变量:
同样需要把AUTH_GITLAB_CLIENT_ID=你的GitLab客户端ID AUTH_GITLAB_CLIENT_SECRET=你的GitLab客户端密钥.env加入.gitignore,Backstage会自动读取该文件中的环境变量。
内容的提问来源于stack exchange,提问作者jo1718
相关产品推荐
相关产品推荐

