👻

Try GitHub Actions

2024/01/17に公開

前回のテストコードをGithub Actionsで動かしてみます。

https://docs.github.com/ja/actions

手順

ワークフローのyamlファイル準備

とりあえずhttps://docs.github.com/ja/actionsの1、2の通りにymlファイルを準備

mkdir -p .github/workflows
touch .github/workflows/github-actions-demo.yml

yamlファイル編集

pull requestをトリガーに以下の処理をする

  • checkout
  • nodeインストール
  • npm install
  • npm test
name: Docker Compose Workflow

on: [pull_request]

env:
  MYSQL_PASSWORD: ${{ secrets.MYSQL_PASSWORD }}
  MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }}

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: setup node
      uses: actions/setup-node@v1
      with:
        node-version: 20.x

    - name: Install dependencies
      run: npm install

    - name: Run npm test
      run: npm test

secretsにMySQLのパスワードを設定

パスワードはGithubのsecretsを使います。
https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions

Github Actionsのsecretsに MYSQL_PASSWORDMYSQL_ROOT_PASSWORD を設定して、ワークフローの環境変数に設定しています。

pull request作成して、Github Actionsが実行されてることを確認

pull requestを作成するとGithub Actionsが実行されます。

こんな感じ。

感想

Azure Pipelineを使ってまして、似た感じ(どのCIも似た感じかと思いますが・・)ですが、conditionの設定や変数の指定がGithub Actionsの方がわかりやすいそうな気も・・

https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution
https://docs.github.com/en/actions/learn-github-actions/variables

Discussion