GitHubを使用した開発に慣れてくると、いろんな作業が面倒になってきますよね。
そうなってきたら自動化を推し進めるチャンスです!
自動化するための環境やツールにはさまざまなものがありますが、GitHubだけでも自動化を取り入れることができます。
それがGitHub Actionsです。
今回はGitHub Actionsに不慣れな筆者とともに、まずは簡単なことから始めてGitHub Actionsに慣れていきましょう!
- GitHub Actionsとはなにか
- GitHub Actionsの初め方
- GitHub Actionsの簡単な使い方
GitHub Actionsとは?
ざっくり言うと、任意のタイミングで、任意の処理を自動的に実行する機能です。
タイミングとして指定できるものには以下のようなものがあります。
- プッシュやプルリクエスト作成などのGitHubに対してなんらかの操作が発生したとき
- 「4月1日10時15分」のような特定の日時
- 「1時間ごと」のような定期的な間隔
処理としては以下のようなことができます。
- OSが備えている基本的なコマンドを実行する
- 第三者が作成した処理のセットを実行する
実際に処理が行われる場所はGitHubが提供するクラウドプラットフォーム上です。
そこにOSやランタイムなど好きな構成で実行環境を作り、上記の処理を行うことができます。
全てではありませんが、公式ページもそこそこ日本語化されていますので、しっかり学びたい方は公式ページからが良いかと思います。
GitHub Actionsの構成要素
GitHub Actionsを構成する要素はいくつかありますが、本記事ではざっくり説明します。
- アクション
-
よく使う便利な一連の処理。例えば、「GitHubからソースコードを取得する処理」や「Node.jsの実行環境を構築する処理」などがある。
- ステップ
-
ジョブ内で実行する1つのコマンドもしくはアクション。
- ジョブ
-
1つ以上のステップから構成されるもの。
- ワークフロー
-
1つ以上のジョブから構成されるもの。GitHub Actionsではワークフローを実行することになるので実行単位ともいえる。
- イベント
-
ワークフローを実行するトリガー。特定の操作が発生した際や特定日時などが設定できる。
詳細かつ正式な説明は下記のリンクを参照してください。
動かしてみよう
細かいことはたくさんありますが、そんなに難しいことはありません。
GitHub Actionsに関しては手を動かして慣れたほうが早いのでさくっとやってみましょう!
ワークフローの作成
GitHub Actionsの実行単位であるワークフローの大枠を作成します。
自身のリポジトリを開き、Actions画面をタブから開きます。
以下のような画面が開かれるはずなので、「set up a workflow yourself」をクリックします。
サンプルファイルとして以下の内容で設定ファイルが作成されます。
特に問題となるような処理はないので一旦コミットします。
動作内容は以下のようになっていますね。
- プッシュされた際およびプルリクエスト作成された際に動作する
- 処理内容は 「リポジトリのチェックアウト」「コマンド実行による標準出力」
ワークフローの詳細な設定方法・項目については下記ページを参考に。
動作確認
ワークフローの確認
設定ファイルをコミット後、ふたたびActions画面を開くと以下のように新しいワークフローが追加されています。
設定ファイルで指定したname
がワークフロー名として画面左側に表示されており、画面右側にこのワークフローの実行結果が一覧で表示されています。
上記画像ではプッシュ操作(前述のコミット)に対して、設定したワークフローが実行されていることがわかります。
実行結果の確認
実行結果をクリックすると詳細画面が表示されます。
設定された処理がきちんと動いていることがわかります。
補足:追加の動作確認
デフォルト設定ではプルリクエスト作成時にもワークフローが動作するはずなので、適当にREADME.mdを修正してプルリクエストを作成してみます。
その後、もう一度Actionsを確認するとワークフローが動作していることが確認できます。
最後に
今回はキホンのキということでここまでで終わります。
もっと詳細な設定方法は別記事にて紹介していくつもりです。
ただ、デフォルト設定ファイルの中身を見ればやっていることや設定方法も大体わかりますので、デフォルト設定ファイルをアレンジするだけでも十分な気もします。
これを機にGitHub Actionsを活用しましょう!