今日のインプット/アウトプット #9 2024-08-15
ルール
毎日何かしら記録する。
どんな些細なことでもOK。レベル感気にしない
書いたらtwitterにでもポストしておく
Duolingo
キリ番でした。目指せ365
GitHub CI/CD実践ガイド
https://github.com/dznbk/gha_sandbox
学習用のリポジトリたててチマチマ試していく。
※朝やりはじめたら、件の障害の時間であまりできず。
3章 ワークフロー構文の基礎をちょっとやる。
ある程度業務で見たことあるものは多いが、直接設定したこともないものもあるので、基本から。
コンテキスト
env
Variables
Secrets
VariablesはリポジトリのSettings -> Secrets & Variables から設定。
gh variable set USERNAME2 --body 'pontaro'
ghコマンドでも設定できるらしい。
そういえばプライベートマシンに入れてなかったので、下記参考にインストール
https://github.com/cli/cli/blob/trunk/docs/install_linux.md#official-sources
eval "$(gh completion -s bash)"
bashrcとかに↑設定しておくと、サブコマンドの補完もできる
env:
USERNAME2: ${{ vars.USERNAME2 }}
steps:
- run: echo "${USERNAME2}"
Variablesなどは、直接シェルで参照すると特殊文字が含まれている場合など予期せぬ挙動になるのもあり、envに設定して中間環境変数として参照するのがベターっぽい。
name: CI Sandbox
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
env:
ACTOR: ${{ github.actor }}
USERNAME2: ${{ vars.USERNAME2 }}
steps:
- uses: actions/checkout@v4
- name: Run a one-line script
run: echo Hello, world!
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.
echo "${{ github.workspace }}"
echo "${{ github.repository }}"
echo "${{ runner.os }}"
echo "${{ runner.arch }}"
echo "${{ runner.temp }}"
echo "${{ github.event_name }}"
echo "${{ github.action }}"
echo "${{ env.ACTOR }}"
echo "${ACTOR}"
echo "${USERNAME2}"
いくつか適当にechoさせてみたらこんな感じ
Secretsは、ログ出力時はマスクしてくれるが、完全一致なのでやりようでマスクせずに出てしまうらしい(意図してやることはないだろうが、そういうリスクがあるというのを知っておくのが吉)
この記事が気に入ったらサポートをしてみませんか?