■この記事の目的
- GithubActionsの基本情報をまとめていく
- 過去に何をやったかの備忘録
■概要
-
CI/CDをgithub上で実現できる機能
- できるだけgithub上で完結したいのであれば積極利用
- 可能な限り手作業に依存しない開発フローを作っていく
■過去にやったこと
- 特定デプロイ時の書式チェック
- ユニットテスト
- docker imageのbuild
- imageファイルのpush(アップロード)
- 必要なファイルのコピー
- Cloud Functions デプロイ
- vmインスタンスの設定変更
随時、追記
■設定構文
基本情報
【name】
- ワークフローの名前
- 役割、やっている事がわかるように命名
処理対象・条件
【on】
- トリガーとなる対象を設定する
- push や pull_requestを指定する
- 複数指定の場合
on: [push, pull_request]
【branches】
- ワークフローの処理対象となるブランチを指定
- 一意のブランチ名だけではなく、「feature/**」といったパターンでの指定も可
- 複数指定の場合
branches: [develop, staging]
または
branches:
- master
- feature/**
【paths】
- 特定のディレクトリやファイルに変更が入った時のみを条件とする場合に設定
- 一意のファイル名やディレクトリ名ではなく、パターンや拡張子の指定も可
- 複数指定の場合
patsh:
- '**.py'
- 'src/test_functions/**'
- 'src/doc/README.md'
ワークフロー時の環境変数指定
【env】
- ワークフローで環境変数を指定したい場合に設定
ワークフロー本処理
【jobs】
- 以降に本処理を記述していく
【uses】
- あらかじめ用意されているアクション・コードの指定
【if】
- 条件分岐など
【run】
- コマンド実行など