はじめに
最近では、CIの導入は必須となってきました。だからこそ、導入方法や設定方法を知ることは重要です。Githubが提供するCIサービスである、Github Actionsを紹介しますので、これから活用していけるようにしましょう!
使い方
1.アプリのリポジトリ上部にある[Actions]タブから進み、Rubyの[Set up this workflow]ボタンをクリックします。
2.ワークフローと呼ばれる一連の処理をYAMLファイルで設定する。
※名前は任意のものでOKです。
.github/workflows/main.yml
name: Ruby
on: # トリガーを指定する(ここではプッシュとプルリクエスト)
push:
branches: # 指定したブランチのみ実行する
- develop
- master
pull_request:
jobs: # 1つ以上のジョブを設定し実行する
test: # testというジョブを設定
runs-on: ubuntu-latest # 実行環境のOSを指定
steps: # ステップ毎にプロセスを実行する
- uses: actions/checkout@v1
- name: cache bundle
uses: actions/cache@v1
with:
path: /vendor
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: cache node_modules
uses: actions/cache@v1
with:
path: node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-node-
- uses: azure/docker-login@v1
with:
login-server: docker.pkg.github.com
username: ci
password: ${{ secrets.GITHUB_TOKEN }}
- name: Bundle install
run: |
docker-compose run --rm ci bundle install --path vendor/bundle --without development --deployment --jobs=4
- name: Yarn install
run: |
docker-compose run --rm ci yarn install
- name: Run brakeman
run: |
docker-compose run --rm ci bundle exec brakeman -z
- name: Run rubocop
run: |
docker-compose run --rm ci bundle exec rubocop
- name: Run rspec
run: |
docker-compose run --rm ci bundle exec rails db:setup
docker-compose run --rm ci bundle exec rake spec
終わりに
CIを設定することで、コードの品質を維持向上できますので、ぜひ活用してみてください!
参考
[GitHub Actions]
(https://docs.github.com/ja/actions)
[Github Actionsの使い方メモ]
(https://qiita.com/HeRo/items/935d5e268208d411ab5a)