Github Eylemlerinde sırları nasıl kullanırım?
Bunun gerçekten aptalca bir soru olduğunu hissediyorum ama çözemiyorum. Ben var gerçekten basit node.js projeyi kurmak bir olan API_KEYbir sır olarak.
Gelen nodejs eylem yml ben şu var:
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }}
env:
API_KEY: ${{ secrets.API_KEY }}
- run: export
- run: npm ci
- run: npm run build --if-present
- run: npm test
API_KEYgörünmüyorexport ben beklediğiniz gibi o ne zaman ne de gösterir etmek console.log(process.env).
Belgelere göre , bu olduğu gibi çalışmalıdır. Gerçekten basit bir şeyi kaçırdığımı hissediyorum.
Bu, bu yığın aşımı sorusunda önerildiği gibi bir çatal değildir .
Düğüm komut dosyamda bulunan API_KEY'i almak için neyi kaçırıyorum?
Yanıtlar
Ortam değişkenleri üç düzeyde tanımlanabilir:
- Küresel olarak: adı verilen üst düzey bir harita env
- İş başına düzeyinde: içinde jobs.
.env - Adım başına düzeyde: içinde jobs.
.steps.env
Tercih, mevcut en spesifik değişkene verilir. Örneğin:
env:
VAR: I am global
jobs:
job1:
steps:
- run: echo "$VAR" # "I am global" job2: env: VAR: I am on the job level steps: - run: echo "$VAR" # "I am on the job level"
- env:
VAR: I am on the step level
run: echo "$VAR" # "I am on the step level" - run: echo "$VAR" # "I am on the job level"
Bir adımda bir ortam değişkenini dinamik olarak ayarlamak ve daha sonraki adımlar için kullanılabilir hale getirmek için bir ortam dosyası kullanmanız gerekir (bu, son zamanlarda ortam değişkenleri için artık kullanılmayan iş akışı komutlarını kullanmaktan değiştirilmiştir ):
steps:
- name: Set the variable
run: echo "foo=bar" >> "$GITHUB_ENV" - name: Print the variable run: echo "$foo" # bar
Eski, artık kullanımdan kaldırılan yöntem, bunu şu şekilde ayarlayacaktır:
run: echo "::set-env name=foo::bar"
ancak bu artık bir kullanımdan kaldırma uyarısını tetikliyor.