アプリケーション開発・管理・運用

GitHub Actionsとは? Azure ユーザーに便利なおすすめアクションも紹介

開発プロセスを自動化することは、より迅速で正確な開発を実現するための重要な鍵です。そこで本記事では、開発プロセスの自動化に役立つシステム「GitHub Actions」の概要やメリットを解説します。Microsoft Azureのユーザーに便利なアクションも紹介するので、ぜひご参考にしてください。

GitHub Actionsとは? Azure ユーザーに便利なおすすめアクションも紹介

アプリケーション開発における課題別の解決方法とは? 〜Azureを導入するメリットも紹介〜

GitHub Actions とは

GitHub Actionsとは、GitHubと連動したワークフローを構築できるシステムです。プッシュ、プルリクエスト、リリースなどGitHub上の豊富なイベントを受け付けて、CI/CD関連のワークフローを起動できます。

GitHub Actionsは、ビルド・テスト・デプロイなど、一般的なタスクを自動的に実行できる既定アクションを数多く提供しています。特定のタスクを実行するために独自のカスタムアクションを作成することも可能です。総じて言えば、GitHub Actionsは開発現場のワークフローを自動化し、開発時間の短縮や生産性を向上させるために役立ちます。

CI/CDとは

CI/CDとは「継続的インティグレーション(Continuous Integration)」と「継続的デリバリー(Continuous Delivery)」の略称で、ソフトウェア開発プロセスの自動化に関連した概念です。CIは、開発者がコードの変更をプッシュする際に、自動的にビルドやテストなどを行うプロセスを指します。他方でCDは、CI後にサービスを自動的にリリース・デプロイするプロセスのことです。

つまり、CI/CDを活用することで、開発現場のワークフローを自動化し、従来より短時間での開発を実現できます。GitHub Actionsは、こうしたCI/CDの機能をGitHubにおいてワンストップで使えるようにするソリューションです。また、GitHub Actionsは各プルリクエストに対してシームレスに連携できるので、よりスムーズな自動化プロセスを構築し、開発環境の利便性を高めることが可能になります。

GitHub Actions のワークフロー(workflow)

GitHub Actionsのワークフローとは、実行したい処理とその実行処理の条件定義を指します。ワークフローはYAML構文で定義を行い、.github/workflowsディレクトリへ保存することで実行できます。また、一度作成したワークフローは再利用が可能です。

ワークフロー内では、任意のコマンドのほか、あらかじめ定義済みの処理(アクション)を実行できます。また、複数のアクションを組みあわせてワークフローを構築することも可能です。ワークフローの中にアクションを積極的に組み込むことで、これまで手作業で行っていた処理を減らし、リリースの速度や品質を向上できます。

Azureユーザーのための "GitHub Actions" 入門&活用ガイド

GitHub Actions のメリット

GitHub Actionsのメリットは以下の通りです。

ユーザーが自前でサーバーを用意する必要がない

GitHub Actionsは、クラウド上で動作するため、ユーザーが自分自身でサーバーを用意する必要がありません。これにより、サービスの導入や設定、管理運用にかかるコストや手間を削減できます。

プルリクエストとの連携がシームレス

GitHub Actionsは、GitHubと完全に統合されているため、プルリクエストとシームレスに連携可能です。これにより、ビルドやテストなどの作業を簡単に自動化できます。

無料枠が多い

GitHub Actionsには、無料で使用できる枠が多数用意されていため、低コストで利用を開始することが可能です。

アクションが豊富

GitHub Actionsには、豊富なアクションがあらかじめ用意されているため、少ない手間で開発プロセスの自動化を推進できます。既存のアクションをベースに、足りないところを自分でカスタマイズしたり記述したりすれば、作業時間の短縮やコードミスの削減が可能です。

これらのメリットがあるGitHub Actionsは、効率よく取り入れることで、開発の向上や品質を高めることができるようになります。

Azure ユーザーに便利な GitHub Marketplace 上のおすすめアクション

GitHub Actionsは、Microsoft Azure(以下、Azure)の利便性を高めるためにも役立ちます。このあとGitHub Marketplace上で取得できるAzureユーザーに便利なアクションを紹介するので、参考にしてください。

Azure/login

Azureにアクセスするときに役立つアクションです。このアクションを使用すると、az loginが実行されます。また、Az PowerShellモジュールに切り替えることも可能です。サービス プリンシパルとOpenID Connect、2つの認証方法があります

OpenID Connect による認証について

OpenIDとは、IDや認証などの情報を様々なWebサービスで利用できるプロトコルです。Azureの認証では、サービスプリンシパルが主流ですが、OpenID Connectならより安全に利用できます。「シークレットの扱いが不要になる」「認証と認可の管理を明確化できる」「資格情報のローテーションが行われる」などが主なメリットです。

Azure/cli

Azure CLIコマンドを実行してAzureリソースを利用し、ワークフローを自動化できるアクションです。GitHubホステッドランナーにインストールされており、ユーサーが指定したとき以外は、最新版のバージョンで実行されます。セルフホステッドランナーの利用やバージョン指定をしたいときに便利です。

Azure/arm-deploy

ARM templateやBicepでデプロイをするときに使うアクションです。このアクションを活用することで、Azureのリソース管理をするワークフローなどを自動化できます。

Azure/functions-action

Azure Functionsへのデプロイを自動化するアクションです。自動でコードをzip圧縮してWEBSITE_RUN_FROM_PACKAGEでデプロイしてくれるので、zip圧縮の手間を省けます。スロット指定や、pom.xmlの利用、Kudu pre-deploymentの実行、oryx buildの利用なども可能です。

Azure/webapps-deploy

Azure Web AppsやAzure Web Apps for Containersへの自動デプロイを可能にするアクションで、フォルダ、.jar、.war、.zipファイルをデプロイしてくれます。スロット指定やstartup-commandの実行も可能です。

Azure/static-web-apps-deploy

Azure Static Web Appsへのアプリケーションのビルドとデプロイを行うアクションです。プルリクエストイベントの場合、自動的にプレビュー環境にデプロイしてくれます。Azure側の仕組みが完全に連携されており、完成度の高いアクションです。

Azure/container-apps-deploy

Azure Container Appsへのイメージビルドやデプロイを自動化するアクションです。「コンテナイメージのビルド」「Azure Container Registry へのプッシュ」「Azure Container Appsへのデプロイ」までの3ステップをワンストップで処理してくれるので、非常に便利です。

Azure/aca-review-apps

Azure/aca-review-appsでは、Azure Container Appsに新しいリビジョンを自動的に作成できます。複数のリビジョンモードを利用して、ステージング用の環境を構成可能です。デプロイのみに対応しています。

まとめ

紹介したように、GitHub Actionsを活用することで、開発プロセスの自動化を推進することが可能です。GitHub ActionsはGitHub内に統合されているので、プルリクエストごとのシームレスな連携を実現できます。サーバーを自前で用意する必要もなく、低コストで導入できるのも魅力的な点です。また、Microsoft Azureユーザーにとって便利なアクションも多数あるので、GitHubとAzureを活用して開発プロセスを改善したい方は、ぜひGitHub Actionsをご活用ください。

Azureユーザーのための "GitHub Actions" 入門&活用ガイド
  • fb-button
  • line-button
  • linkedin-button

関連記事

Active DirectoryとAzure ADによるハイブリッドクラウドの管理とセキュリティ
セキュリティとガバナンス
企業のIDおよびアクセス管理のリスクを軽減
セキュリティとガバナンス
今さら聞けないID管理システムとは?その役割や機能について
セキュリティとガバナンス
内部犯を生まないための特権アクセス管理 ── リアルタイムな記録と監視を実現
セキュリティとガバナンス
ハイブリッドクラウド環境における高速でセキュアなActive Directoryのリカバリ
セキュリティとガバナンス
Active Directory&Azure AD “ハイブリッドAD”環境の落とし穴
セキュリティとガバナンス
特権アカウントのガバナンスとは?
セキュリティとガバナンス
特権IDによるアクセスを制御、モニタ、記録する方法とは?
セキュリティとガバナンス
認証基盤とは?その概要や目的、全体像を解説
セキュリティとガバナンス
Azure AD ConnectによるIDaaSの構築
セキュリティとガバナンス
特権IDとは?管理不備が引き起こす問題や適切な対策について
セキュリティとガバナンス
認証基盤・ID管理でハイブリッドクラウド環境のセキュリティを構築
セキュリティとガバナンス
Azure AD Premiumとは? Microsoft 365のセキュリティを強化するには
セキュリティとガバナンス
Azure Active Directory(AD)とは?その機能や価格もご紹介
セキュリティとガバナンス
Azure ADとオンプレミスのActive Directoryとの違い
セキュリティとガバナンス
シングルサインオンとは?その仕組みや種類を解説
セキュリティとガバナンス
RELATED SITES

関連サイト

CONTACT

サイト掲載の
お問い合わせ

TOP