GitHub Actions 学習 - kocya-dev/note GitHub Wiki

GitHub Actions 学習

前提

  • GitHub Flow

    • PR
    • Main push
    • 任意ブランチdeploy
  • CICDについて

  • GitHub Actionsのカバー範囲

  • 目標

    • 実現内容
      • PCアプリビルド、テスト、Upload
      • AWS ビルド、テスト、デプロイ
    • スキル
      • 基礎編
        • 基本的なワークフローが読める、書ける
      • 実践編
        • カスタムアクションが書ける
        • ワークフローを再利用できる
        • ワークフローを任意のパラメータで実行できる
        • ワークフローの分岐/統合/排他を記述できる
        • 複数パターンをmatrixで効率的に実行する

基礎編

  • ディレクトリ構成
  • 新規作成の流れ
  • yaml
  • ワークフローの構成
    • name
    • run-name
    • on
      • pull request
      • push
        • branches
        • branches-ignore
          • '!xxxxx'
          • 'release/**'
      • workflow_dispatch
        • inputs
      • schedule
    • jobs
      • runs-on
        • linux/win/max コスト
      • steps
      • run
      • uses-with
    • env
  • Pull Requestを受けて実行する
  • scheduled
    • 定期的に何らかの処理を行う
  • workflow_dispatch
    • 手動で実行する
    • ワークフローを任意のパラメータで実行できる

実践編

  • おさらい
  • キーワード
    • on
      • workflow_call
        • inputs
        • outputs
      • push
        • paths
    • concurrency
    • need
    • secrets
    • environment
    • matrix
    • if
      • success()
      • failure()
    • working-directory
  • カスタムアクション
  • ワークフローの再利用
  • 同じ処理をカスタムアクションで再利用
  • ワークフローの分岐/統合/排他を記述できる
  • 複数パターンをmatrixで効率的に実行する

応用編

  • 高速化
    • キャッシュ
    • 並列化
    • 変更ファイルに応じた処理
  • pull request操作
    • label
    • assigner
  • issue操作

  • アンケート
    • 満足度
    • 簡単~難しい
    • 導入状況 (予定なし/導入検討中/導入済Action検討中/導入済Action導入済)
    • 導入の障壁
    • 知りたいこと、困っていること
    • 感想