はじめに
GitHub Enterprise 3.0.0 で GitHub Enterprise にもGitHub Actions が搭載されました。これをきっかけに勉強を始めていきます。
docs.github.com
今回はGitHub Acionsで Windows + Visual Studio + C# + nunit でビルドからテストまで実行してみます。実行の手順と設定ファイルの説明をまとめます。
GitHub Actionsとは
GitHub Actions とは CI/CD を実現する機能です。CI/CDと言えば Jenkins や CircleCI が有名ですね。 Jenkins や CircleCI は別サービスですので新たに環境構築したり、登録する必要があります。GitHub Actions を使えばGitHub だけでCI/CDを実現できます。
導入手順
1 リポジトリの用意
事前にGitHubのアカウントとリポジトリを用意しましょう。以下は今回の勉強用に作成したリポジトリです。
github.com
2 GitHub Actions 専用のYAMLファイルを用意
「.github/workflows/」 のフォルダを作成し、YAMLファイルを配置します。これで設定が完了です。内容は「ビルドしてテストを実行する」です。「ビルドしてテストを実行する」のような一連のプロセスはワークフローと呼びます。
name: MSBuild on: push jobs: build: runs-on: windows-2019 steps: - name: Checkout uses: actions/checkout@v2 - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.2 - run: dotnet build - run: dotnet test
3 実行結果を確認する
上記の設定で push のたびにワークフローが実行されています。実行結果はActionsタブで確認できます。
一覧の中から特定の実行結果を選ぶと詳細ログが確認できます。
成功のログ
失敗のログ
設定ファイルの説明
on: push
設定するワークフローの開始トリガーを設定します。この設定は「push」をトリガーに実行されます。設定できる文字列は下記ページが参考になります。
docs.github.com
runs-on: windows-2019
実行するOSを設定します。設定できるOSは下記ページが参考になります。
docs.github.com
- name: Checkout uses: actions/checkout@v2
actions/checkout
はワークフローからリポジトリにアクセスできるようにするアクションです。
github.com
- name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.2
microsoft/setup-msbuild
はmsbuild のコマンドを使えるようにするアクションです。
github.com
- run: dotnet build - run: dotnet test
run
はOSのCLIを操作するコマンドです。dotnet build
でビルドし、dotnet test
でテストを実行しています。