(添加了bash和終端標簽,因為我不確定我的問題是專門針對Github行動的,還是對環境變數的作業方式存在誤解)
我正在處理一個作業流程.yml,在 "sql腳本中的環境替換 "的步驟中,我試圖設定一些環境變數:
on: [push]
env:/span>
GAME: "FunGame"/span>
TRAIN_HORIZON: 7
職位:
ssql:
運行于: ubuntu-latest
name: Get data
步驟:
- name:/span> Checkout cum-rev repo
用途: actions/checkout@v2 # Defaults to current repo - Check out current repo
- name: Checkout ds-ssql-gh-action
用途: actions/checkout@v2
with:
repository: ourorg/ds-ssql-gh-action
token: ${{ secrets.cumrev_workflow_token }}
ref: main
path: './ds-ssql-gh-action'
- name: Env substitue in sql script
運行: |
INSTALL_DATE=$(date -d "`date %Y%m01` -12 month" %Y-%m-%d)
echo "這里是安裝日期 $INSTALL_DATE"
IOS_GAME="${{ env.GAME }}_IOS_PROD"
ANDROID_GAME="${{ env.GAME }}_ANDROID_PROD"
envsubst < get-data/training-data.sql
cat get-data/training-data.sql
printenv
推送此內容后,作業試圖運行。我在底部printenv,當我看到環境變數時,我沒有看到任何INSTALL_DATE,IOS_GAME或ANDROID_GAME。
為什么這些環境變數沒有被設定在行中:
INSTALL_DATE=$(date -d "`date %Y%m01` -12 month" %Y-%m-%d)
echo "這里是安裝日期$INSTALL_DATE"。
IOS_GAME="${{ env.GAME }}_IOS_PROD"
ANDROID_GAME="${{ env.GAME }}_ANDROID_PROD"
注意行echo "Here is install date $INSTALL_DATE"確實按預期列印出正確的值。但當我運行printenv時,它沒有顯示出來?
uj5u.com熱心網友回復:
你必須匯出你想在環境中看到的變數:
export INSTALL_DATE=$(date -d "`date %Y%m01` -12 month"/span> %Y-%m-%d)
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/332516.html
標籤:
