[英].NET User Secrets in GitHub Actions variables
我在測試階段失敗的 GitHub 操作上遇到 .NET 構建管道的問題。 問題是我在本地使用使用結構化 JSON 配置的用戶機密。因此我需要使用存在於操作生命周期 scope 中的機密在 GitHub 操作中提供替換。
在 Bitbucket 中,我可以使用__
解析為正確的命名空間來模擬 JSON 嵌套的結構; 但是,此選項似乎不適用於 GitHub 操作。
示例 JSON:
{
"IntegrationTest": {
"B2CPolicy": "https://example.com",
"ClientId": "some_client_id"
}
}
我假設變量INTEGRATIONTEST__B2CPOLICY
應該放入 GitHub 操作機密中。
do.net.yaml:
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: .NET
on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
jobs:
build:
env:
SLN_FILE: "./src/be/proj.sln"
REPORTS_PATH: "./test-reports/build_$GITHUB_RUN_ATTEMPT"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
- name: Restore dependencies
run: dotnet restore $SLN_FILE
- name: Generate client for test project
run: pwsh -File "./src/be/scripts/nswag/generate_data_for_test_project.ps1"
- name: Build
run: dotnet build --no-restore --configuration Release $SLN_FILE
- name: Test
run: dotnet test --no-build --verbosity normal --configuration Release --test-adapter-path:. --logger:"junit;LogFilePath=$REPORTS_PATH/junit.xml;MethodFormat=Class;FailureBodyFormat=Verbose" $SLN_FILE
任何線索可能的問題在哪里?
會不會是使用加密密文引起的?
感謝您的任何想法。
秘密不會在您的所有操作中作為環境變量自動可用,您需要添加它們。 應該這樣做。
- name: Test
env:
INTEGRATIONTEST__B2CPOLICY: ${{ secrets.INTEGRATIONTEST__B2CPOLICY }}
run: dotnet test --no-build --verbosity normal --configuration Release --test-adapter-path:. --logger:"junit;LogFilePath=$REPORTS_PATH/junit.xml;MethodFormat=Class;FailureBodyFormat=Verbose" $SLN_FILE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.