はじめに
- GitHubActionsまわりについて復習したときのメモ
メモ
ファイル例
- .github/workflows/action.yml
name: ci # ワークフロー名 on: [push] # リポジトリへのpush時にこのワークフローを実行するよう指定 jobs: build-image: # ジョブの名前(ワークフローの中の一つのジョブ) runs-on: ubuntu-latest # Ubuntuの最新版環境内で処理を実行することを指定 steps: # ここで実行する処理やコマンドを指定する - uses: actions/checkout@main # リポジトリからのチェックアウトを行う「actions/checkout」アクションを実行する - name: Build Docker image run: | echo "start build" sudo apt-get install -y wget wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb cp google-chrome-stable_current_amd64.deb docker/pytorch_1_4/ cd docker/pytorch_1_4 && docker build --tag forecast-keiba:latest . && cd - cd docker/pytorch_1_4 && bash run_ci.sh docker && cd - echo "end build"
ファイルの補足
on: push
特定のブランチやタグのみを対象に指定するとき
on: push: branches: - master - foo*
- スケジュール実行
on: schedule: - cron: '30 * * * *'
runs-on
- self-hosted: ユーザーが独自に用意した実行環境
steps以下ではrun要素ではなく「uses」要素を指定することで、任意のActionを実行したりできる
パラメータを変数で指定する
- github.sha: コミットハッシュ
Secrets
- name: Exports SSH private key run: echo "${{ secrets.SSHPrivateKey }}" > id_rsa && chmod 600 id_rsa
その他
- Action
- upload-artifact: 指定したファイルを「artifact」として保存する
- cache: 生成物をキャッシュして処理を高速化する
- プラン
- Free: 500MB/2000分
- マシンスペック
- Standard_DS2_v2(仮想CPU×2、メモリ7GB、ストレージ14GB)