サイト名変更・お引越しのお知らせ

【入門】Github Actionsとは? 簡単なチュートリアルを用いて解説

Github Actionsとは?について簡単なチュートリアルを用いて解説します。

この記事でわかること
  • Github Actionsとは?が理解できる
  • 超基本的な使い方を理解できる

モグモグさん

うまいこと使えれば生産性がグッと上がりマス!

Github Actionsとは?

Github上で動作する実行環境で、CI/CDの実行環境のこと。

Githubが実行環境を用意(サーバレス)してくれているので、任意のコードを実行できます。

Github上のアクションをトリガーにして様々な処理(ワークフロー)を自動で実行することができます。

補足

CI: 継続的インテグレーション(Continuous Integration)を指し、ビルドやテストなどを自動化すること。

CD: 継続的デリバリー(Continuous Delivery)を指し、変更を検知しデプロイなどを自動化すること。

もう少し詳しく

すでにCI/CDサービスはたくさん存在しており、多くの開発者がGithubで連携して使っていました。

それをGithubが自社で作成したサービスということになります。

もちろんGithubに最適化されたサービスなので、使いやすいですしサービスの一元化ができるところも嬉しいところの一つです。

他の主なCI/CDサービス

モグモグさん

料金や学習コストなどを考慮する必要はありますが、

Githubを利用していて、CI/CDサービスのナレッジが特になく、新たに何を使おうか考えているチームや個人は

使う選択をして良いと考えています。

実行例を用いてできることを確認

実行例を用いて、どんなことができるかを具体的に解説していきます。

上で説明しましたが、Github上のアクションをトリガーにして様々な処理(ワークフロー)を自動で実行するというのがメインです。

ワークフローは、Marketplaceから見つけて使うことができるのでその点も嬉しい点です。自作して共有することも可能です。

実行例

  • PullRequestがマージされたタイミングで、デプロイしてリリースノートを作成する
  • Pushされたタイミングで、テストを走らせる
  • Pushされたタイミングで、コード解析を走らせる

他にも定期実行などもできたりします。

実行環境は、Linux/Windows/macOSに対応しています。(2021年5月現在)

料金

料金は変更されるかもしれないので、公式ページを参考ください。

現在は、バブリックレポジトリは無料ですし、プライベートレポジトリでも最低2000分/1ヶ月は無料で利用できます。

※ アカウントやチームのプランで変わります。

Github Actions入門チュートリアル

ここからは、簡単なチュートリアルを行って理解を深めていきましょう。

レポジトリを作成

レポジトリを作成

適当なレポジトリを作成しましょう。

Public/Privateは任意です。

ymlファイルを追加

.github/workflows/ファイル名.ymlというファイルを作ることでGithub Actionsが認識して実行できるようになりますので、作成していきます。

# workflowの名前
name: Sample actions

# トリガーの設定
on:
  push:
    branches: master # mainブランチの場合はmainに変更

jobs:
  build:
    runs-on: ubuntu-latest # 実行環境の設定

    steps:
      - uses: actions/checkout@v2

      - name: Run a one-line script
        run: echo Hello, world! # Hello, world!と出力する

作成したら、コミットし、Pushしましょう!

Github上で確認

結果を確認

レポジトリの「Actions」タブで実行を確認できます。

緑のチェックマークが出ていれば成功です!

モグモグさん

構文に関しては、公式サイトで説明されています。

モグモグでも別記事で解説します。

まとめ

Github Actionsとは?について、チュートリアルを用いて解説しました。

最後に要点をまとめておきます。

Github Actionsまとめ
  • Github上で動作する実行環境で、CI/CDの実行環境のこと。
  • Github上のアクションをトリガーにして様々な処理(ワークフロー)を自動で実行できる
  • .github/workflows/ファイル名.yml を作成することで実行できる