Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

最初に

みなさん、こんにちは!
この記事では、GitHub Actionsを使ってGoの自動化テストを案件で挑戦した事例を紹介します。エンジニアとして自動化テストはとても重要なスキルだと思うのでより良い完全等があればコメントいただければ幸いです。

必要な準備(チュートリアル)

まず最初に、あなたのプロジェクトにgo.modファイルがあることを確認してください。それでは、早速始めましょう!

ステップ1: GitHubリポジトリの作成

​リポジトリを作成する​: GitHubで新しいリポジトリを作成しましょう。名前は何でもOKです。ここでは例としてgo-automationリポジトリを使います。

ステップ2: go.ymlファイルの作成

プロジェクトのルートディレクトリに.github/workflowsディレクトリを作成し、その中にgo.ymlファイルを作成します。このgo.ymlファイルがGitHub Actionsのワークフローを定義します。

name: Go CI

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  test:

    runs-on: ubuntu-latest

    steps:
    - name: Check out code
      uses: actions/checkout@v2

    - name: Set up Go environment
      uses: actions/setup-go@v2
      with:
        go-version: 1.18

    - name: Install dependencies
      run: go mod tidy

    - name: Run tests
      run: go test ./... -v

ステップ3: プッシュしてみる

​変更をコミットする​: go.ymlファイルを作成したら、それをコミットしてプッシュしましょう。

$ git add .
$ git commit -m "Add GitHub Actions for Go CI"
$ git push origin main

​GitHub Actionsの確認​: GitHubリポジトリのページに移動し、「Actions」タブをクリックします。新しく作成されたワークフローがトリガーされ、テストが実行されるのを確認しましょう。
結果の確認
ワークフローが正常に実行されると、テストの結果がGitHubの「Actions」タブに表示されます。すべてのテストがパスしていることを確認すればチュートリアルは完了です。

実例

your-go-project/workflows配下にtest.ymlを追加しました。

案件では

your-go-project/
├── .github/
│   └── workflows/
│       └── list.yml
├── cmd/
│   └── yourapp/
│       └── main.go
├── pkg/
│   ├── yourpackage/
│   │   ├── yourfile.go
│   └── anotherpackage/
│       └── anotherfile.go
├── go.mod
├── go.sum
└── README.md

test.yml

name: test  # ワークフローの名前

on:
  pull_request:  # プルリクエストが作成されたときに実行
  workflow_dispatch:  # 手動でワークフローを実行

jobs:
  test:
  runs-on: ubuntu-latest  # ジョブを実行する環境として最新のUbuntuを使用

  steps:
  - uses: actions/checkout@v3  # リポジトリのコードをチェックアウトするステップ

  - name: Set up Go
  uses: actions/setup-go@v4  # Go環境を設定するステップ
  with:
  go-version: 'go1.23.3'  # 使用するGoのバージョンを指定

  - name: Run tests
  run: go test -v ./...  # 指定されたディレクトリ以下のすべてのテストを実行

まとめ
GitHub Actionsを使ってGoの自動化テストを設定する手法をまとめました。
自動化テストで反復で行う処理を自動化して楽できるだけでなく、バグの早期発見にも繋がります。
今回はAWSに連携したりと複雑な処理は行なっていないので次回はCDについても実装していきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?