• システム開発に関わる内容をざっくりと書いていく

GitHub Actions ざっくり基本(.net編)

GitHub Actionsとは:GitHubが提供するCICDツール

定義ファイル(ワークフローファイル):yml形式で、.github/workflow下に置かれる。

例:repository/.github/workflow/<ワークフロー名>.yml

ワークフローファイルコード例(yml):

name: workflow

on:
  pull_request:
    branches:
      - master

jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 2.2
      - name: Install dependencies
        run: dotnet restore
      - name: Run Build
        run: dotnet build --configuration Release
      - name: Run Test
        run: dotnet test --verbosity normal

解説:

name: workflow

ワークフロー名(任意の名前、何でもよい)

on:
  pull_request:
    branches:
      - master

どのタイミングでジョブが動き出すか、この例だとmasterブランチにプルリクエストされたタイミング

jobs:
  ci:

jobs以降にジョブが定義されていく、ここではciというジョブが定義されている

ci:
    runs-on: ubuntu-latest

ciジョブの定義のruns-on:どのような環境でテストするかが定義されている

ci:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 2.2
      - name: Install dependencies
        run: dotnet restore
      - name: Run Build
        run: dotnet build --configuration Release
      - name: Run Test
        run: dotnet test --verbosity normal

ciジョブのsteps:ジョブ内でタスクを実行する単位

name:ステップの名前(任意、無くても可)

uses:他actionsの参照

run:コマンドベースで実行する箇所

下記個別に抜粋

        - name: Checkout
        uses: actions/checkout@v2

uses: actions/checkout@v2:レポジトリをpullするアクション、レポジトリが指定されている場合はそのレポジトリを使用して、指定されていない場合は作業レポジトリからとなる。

        - name: Setup .NET Core
        uses: actions/setup-dotnet@v1
        with:
          dotnet-version: 2.2

uses: actions/setup-dotnet@v1:dotnet cliを使用できるようにする。

with:
dotnet-version: 2.2:.netバージョンの指定

        - name: Install dependencies
        run: dotnet restore

run: dotnet restore (ソリューションファイル名):dotnet restoreコマンドで必要パッケージのインストール

        - name: Run Build
        run: dotnet build --configuration Release

run: dotnet build (ソリューションファイル名) –configuration Release:dotnet buildコマンドでリリースビルド

        - name: Run Test
        run: dotnet test --verbosity normal

run: dotnet test –verbosity normal:dotnet testコマンドでユニットテスト(–verbosity:コマンドの詳細レベル)