April 2022
Beginner to intermediate
464 pages
6h 44m
Japanese
CI(Continuous Integration)とは開発時にビルドやテストを自動で実行するプラクティスです。一般的に開発者がコードを修正してGitHubなどのバージョン管理システムにマージするのをトリガーとして実行されます。CIを実施することで開発者が修正した変更に対して、テストが失敗していないか、ビルドが壊れていないかなど、素早いフィードバックを得られます。LinterをCI環境で実行するといったプラクティスも有効です。MakefileのタスクをCI環境で実行するのもよくある方法です。
CIを行う方法としてGitHub ActionsやCircleCIといったSaaSサービスを利用する方法、あるいはJenkinsなどを使って自前でCIサーバーを構築する方法があります。本節ではGitHub ActionsとCircleCIでCIを行う方法について簡単に紹介します。
GitHub Actionsを使ってCIを動かせます。 .github/workflows 配下に適当なYAMLファイルを格納するだけで動作します。GitHubで公開されているGo製のOSSではGitHub Actionsが使われるケースが多いようです。以下はGitHub Actionsで golangci/golangci-lint によるLintとユニットテストを実行する設定例です。
name: ci
on:
push:
branches:
- "**"
pull_request: {}
jobs:
test:
runs-on: ubuntu-latest
steps:Read now
Unlock full access