我正在使用 .Net core 3.1 开发一个 Web API,试图将其集成到 Github Actions 以在创建拉取请求时运行集成测试。
我正在使用秘密管理器在开发模式下存储我的 API 令牌和其他敏感数据
秘密.json
{
"Firebase": {
"Login": "foo@bar.com",
"Password": "FooBar",
"Url": "foobar.firebaseapp.com "
},
}
在 GitHub 上,我尝试添加 Secrets( GitHub secrets = environment variables ),其名称与我在我的秘密 JSON 上的名称相同,但它没有奏效。我创建的 GitHub 机密就像
(KEY - VALUE)
LOGIN - foo@bar.com
PASSWORD - FooBar
在我的测试类上,我在测试之前使用以下配置调用环境变量
public MyTestClass()
{
var builder = new ConfigurationBuilder()
.AddUserSecrets<MyTestClass>()
.AddEnvironmentVariables();
Configuration = builder.Build();
_settings = Configuration.Get<Settings>();
}
我的 .yml 看起来像
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.300
- name: Nuget
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Test
run: dotnet test --no-restore --verbosity normal
env:
LOGIN: ${{ secrets.LOGIN }}
PASSWORD: ${{ secrets.PASSWORD}}
URL: ${{ secrets.URL}}
在 GitHub Actions 中执行时如何加载设置?