はじめに
自動でテストを実行したい!
うさぎ、バージョン管理はGitHubを使っているんだっけ?
Actionsを使ってみると良いかも!
GitHub Actionsとは?
GitHub ActionsはGItHubが提供するビルド、テスト、デプロイのワークフローを自動化できるツールです。GitHub Actionsを使用することで、CI/CD(継続的インテグレーション/継続的デプロイメント)の自動化や開発プロセスの効率化が可能となります。
例えば、以下のタスクや機能を実行可能です。
- ビルドとテスト
ソースのビルドや単体テストの自動化ができます。
- デプロイ
アプリケーションやサービスのデプロイができます。デプロイ先はサーバー、クラウドプラットフォームなど様々な指定が可能です。
- 通知
デプロイやテストの失敗、成功をもとに通知を受け取ることが可能です。
Slackやメールなど様々な媒体に対しての通知が可能です。
- カスタムタスクの作成
JavaScriptなどのスクリプトを使用して、タスクを作成できます。
- 外部サービスとの連携
SlackやAWS、Dockerなど多くの外部サービスと統合できます。
チュートリアル
「百聞は一見に如かず」ということで早速、手を動かしていきましょう。
今回は「Hello World!!」を表示するところまで行っていきます。
フォルダ構成
GitHub Actionsに関する記述は「.github/workflow」フォルダ配下の「ci.yml」に記述していきます。
任意のフォルダで以下の構成でファイルを作成してください。
│
└── .github
└── workflows
└── ci.yml
ワークフローの記述
「ci.yml」の記述は以下の通りです。
# ワークフローの名称
name: 'Hello World'
# ①トリガー
on: [push]
jobs: #②ジョブ
hello-world:
name: hello world job
runs-on: ubuntu-latest
steps: #③ステップ
- run: echo "Hello World!!"
簡単にポイントを解説します。
①トリガー
何をきっかけにワークフローを実行するかを定義します。
今回はpushですが、fork、pull_requestなど様々なイベントをトリガーにすることもできます。
②ジョブ
ジョブ毎に実行環境が構築されて処理(ジョブ内に定義されたステップ)が
実行されます。実行環境は「runs-on」で「ubuntu-latest」を指定しています。
③ステップ
コマンドやActionなど実際の処理内容を記述します。
今回はechoで「Hello World!!」出力しています。
動作確認
GitHubでリモートリポジトリを作成してpushします。
GitHub上で、Actionsタブを見ると記述したworkflowが実行されて「Hello World!!」と表示されていることが確認できます。
終わりに
本記事はここまでとなります。
最後にGitHub Actionsの学習におすすめのUdemy講座を紹介します。
いずれも多くの方に支持されているベストセラーです。是非、学習にご活用ください。
ご覧いただきありがとうございました。ご指摘等がございましたら頂けますと嬉しいです。
引き続き、プログラミングについて定期的に発信していきますのでよろしくお願いします!
また、もしよろしければtwitterもフォローしていただけると嬉しいです!🐢
コメント