■ はじめに
Github Actions ~ GITHUB_ENV ~
https://dk521123.hatenablog.com/entry/2023/12/29/000840
で、各Stepで値を受け渡す「$GITHUB_ENV」を取り上げたが 今回は、Job間の値の受け渡しに使う「$GITHUB_OUTPUT」について扱う
目次
【1】GITHUB_OUTPUT 【2】使用方法 1)出力パラメータの設定 2)Step間の受け渡し 3)ジョブの出力の定義 【3】Tips 1)add-mask
【1】GITHUB_OUTPUT
https://docs.github.com/ja/actions/using-workflows/workflow-commands-for-github-actions
* Job間の値の受け渡しに使う
【2】使用方法
1)出力パラメータの設定
echo "{name}={value}" >> "$GITHUB_OUTPUT"
2)Step間の受け渡し
- name: Set color id: color-selector run: echo "SELECTED_COLOR=green" >> "$GITHUB_OUTPUT" # ★設定 - name: Get color env: SELECTED_COLOR: ${{ steps.color-selector.outputs.SELECTED_COLOR }} # ★呼び出し run: echo "The selected color is $SELECTED_COLOR"
3)ジョブの出力の定義
https://docs.github.com/ja/actions/using-jobs/defining-outputs-for-jobs
jobs: job1: runs-on: ubuntu-latest # Map a step output to a job output outputs: output1: ${{ steps.step1.outputs.test }} # ★ここ output2: ${{ steps.step2.outputs.test }} # ★ここ steps: - id: step1 run: echo "test=hello" >> "$GITHUB_OUTPUT" - id: step2 run: echo "test=world" >> "$GITHUB_OUTPUT" job2: runs-on: ubuntu-latest needs: job1 steps: - env: OUTPUT1: ${{needs.job1.outputs.output1}} OUTPUT2: ${{needs.job1.outputs.output2}} run: echo "$OUTPUT1 $OUTPUT2"
【3】Tips
1)add-mask
* 値をマスクすることにより、 文字列または値がログに出力されることを防ぐ
on: push jobs: generate-a-secret-output: runs-on: ubuntu-latest steps: - id: sets-a-secret name: Generate, mask, and output a secret run: | the_secret=$((RANDOM)) echo "::add-mask::$the_secret" # ★ここ echo "secret-number=$the_secret" >> "$GITHUB_OUTPUT"
関連記事
Github ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/07/18/234652
Github Actions ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/04/142835
Github Actions ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/06/16/151443
Github Actions ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/12/22/195715
Github Actions ~ GITHUB_ENV ~
https://dk521123.hatenablog.com/entry/2023/12/29/000840