GitHub Actionsを使ってCI環境を構築してみる。(RuboCopで試す)

今回は、初めてGitHub Actionsを使ってCIを構築したので手順について説明します

この記事の内容

自身が初めてGitHub Actionsを使ってCI環境を導入しました。「きもちいいーーー!!!!!」ってなったから丁寧に使い方を残していきますね。

想定読者はGitHub Actionsの初学者になっています。

この記事のゴール

  • GitHub Actionsの大まかな流れを理解できる
  • RuboCopを導入できる
  • 自身でもなんとなくCI環境を構築できる

あたりが今回のゴールになりそうかな!

前提条件

すでにRuboCopは導入している前提で進めます。
もしまだ導入されていなかったら先に以下記事を参考に導入してみてくださいね!

GitHub Actionsの導入

GitHub Actionsとは

そもそもGitHub Actionsとはなんぞやというのを公式では以下のように説明されていました↓

GitHub Actionsを使用すると、ワールドクラスのCI / CDですべてのソフトウェアワークフローを簡単に自動化できます。 GitHubから直接コードをビルド、テスト、デプロイでき、コードレビュー、ブランチ管理、問題のトリアージを希望どおりに機能させます。

https://github.co.jp/features/actions

ということで、GitHub Acionsを利用することで、CI / CD環境の構築ができるということですね。

CI/CD とはという記事がRed Hatの公式にありましたが、簡単にいうと自動化させまくってデプロイ簡単にしようぜ、システムの品質向上させようぜ、開発環境整えようぜ。みたいな意味だと自分は認識しています。

結論、そのCI / CD環境を提供しているのがGitHub Actionsなんですね。

自分も初めて触ってみたんですが、思った以上に簡単に構築できてびっくりでした。(もっと複雑かと思っていた…)

だから早めに準備しておけばおくほど効率的になるのかなと思っています。

GitHub Actionsの導入

RuboCop導入がGitHub上であったので参考にしていきます。

GitHub Actions←この辺りも見ながら

では最初にディレクトリを作ります。
プロジェクト直下の一番親にgithub/workflowsを作成

workflowsディレクトリの中にgithub-action.ymlを作成

github/workflows/github-action.ymlの中身は以下ですね

name: Run rubocop

on:
    push:
    pull_request:
jobs:
    rubocop:
    runs-on: ubuntu-latest
    steps:
        - name: Checkout code
          uses: actions/checkout@v4

        - name: Set up Ruby
          uses: ruby/setup-ruby@v1
          with:
            ruby-version: '3.2'
            bundler-cache: true

        - name: Run RuboCop
          run: |
            cd backend
            bundle install
            bundle exec rubocopCode language: JavaScript (javascript)

mac-osの時にはbundle installをrunの中で実行しないとvm内でbundle installをしてくれないらしいので注意が必要っぽいです。

上記で記載したGitHub Actions のワークフロー構文について少し確認してみましょう

on

ワークフローを自動化させるためのトリガーがonで指定できます。トリガーになれるイベントはこちらを参照ください。

runs-on

ジョブを実行するマシンの種類を定義します。
GitHubホステッドランナーとして利用できるイメージは複数あるようです。
GitHub ホステッド ランナーの選択

他にも色々使い方があるので気になる場合は調べてください!

【初心者向け】【入門】GitHub Actionsの書き方についてデバッグ設定、runs-onやcheckoutなどの仕組みや構造も含めて徹底解説という記事がわかりやすかったです。

もし、実際にGitHub Actionsを実行しておかしいことがあったらpwdとかをrunの中に入れて実行ディレクトリがおかしくないかとかも試してみましょう!

GitHub Actionsを実行

あとは実行するだけです。

何か適当なブランチを切って、GitHubにpushしてください。

そしてPRを作成すると勝手にGitHub Actionsが実行されてエラーが起きたり、成功が帰ってきたりします。

まとめ

CIとかってどうなっているのか?というのを大枠でも理解できたのは非常に良かったです。

  • フォーマッターは絶対かけてね
  • テストは絶対は試してね

みたいなルールがあっても人ってそこを疎かにすることが多いと思います。

なのでこのようなツールを使って自動的に実行してもらえるような仕組みを作れるのがすごく気持ちよかったです!

ぜひ現場でも使っていきたいですね

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA