ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

GitHub Actionsについて

GitHub Actionsでは、カスタムソフトウェア開発のライフサイクルにわたるワークフローをGitHubリポジトリに直接作成することができます。

GitHub Actionsは現在、限定パブリックベータであり、変更される場合があります。 ベータ期間中は、価値の高いワークフローやコンテンツにこの機能を利用することは避けることをお勧めします。

ここには以下の内容があります:

GitHub Actions について

GitHub Actionsには、自動化されたソフトウェアの開発ライフサイクルワークフローをビルドできる柔軟性があります。アクションと呼ばれる個々のタスクを記述し、組み合わせてカスタムワークフローを作成できます。 ワークフローとは、GitHubで任意のコードプロジェクトをビルド、テスト、パッケージ、リリース、またはデプロイするためにリポジトリで設定できる、カスタムの自動プロセスです。

GitHub Actions では、エンドツーエンドの継続的インテグレーションと継続的デプロイメント機能をリポジトリに直接ビルドすることができます。 GitHub Actionsは、GitHubに組み込まれている継続的インテグレーション (CI) サービスを強化します。 詳細については、「継続的インテグレーションについて」を参照してください。

ワークフローは、Linux、macOS、Windows、およびGitHubがホストのサーバーで実行できます。 ワークフローの作成には、リポジトリで定義されているアクション、GitHubのパブリックリポジトリにあるオープンソースのアクション、または公開されているDockerコンテナイメージを使用できます。

ワークフローで使用するアクションをGitHubで見つけ、GitHubコミュニティと共有するアクションをビルドできます。 カスタムアクションの作成については、「アクションのビルド」を参照してください。

特定のイベントで実行するように設定したワークフローファイルを作成できます。 詳細については、「ワークフローの設定」と「GitHub Actionsワークフロー構文のワークフロー構文」を参照してください。

GitHub Actionsのコア概念

GitHub Actionsを使用するときに、特別な意味を持つ一般用語があります。

ワークフロー

リポジトリに設定して、GitHubで任意のプロジェクトをビルド、テスト、パッケージ、リリース、デプロイできる設定可能な自動プロセス。ワークフローは、1つ以上のジョブで構成され、イベントによってスケジュールまたはアクティブ化することができます。

ワークフロー実行

事前に設定されたイベントが発生したときに実行されるワークフローのインスタンス。ワークフロー実行ごとにジョブ、アクション、ログ、ステータスを確認できます。

ワークフローファイル

ワークフローの設定を、1つ以上のジョブで定義するYAMLファイル。このファイルはGitHubリポジトリのルート、.github/workflowsディレクトリにあります。

ジョブ

ステップで構成される、定義済みのタスク。各ジョブは仮想環境の新しいインスタンスで実行されます。ジョブの実行方法に関する依存関係ルールは、ワークフローファイルで定義できます。ジョブは、並行して同時に実行することも、前のジョブのステータスに依存して逐次的に実行することもできます。たとえば、コードをビルドしてテストする2つの逐次ジョブをワークフローに指定し、テストジョブがビルドジョブのステータスに依存するように設定することも可能です。ビルドジョブが失敗すると、テストジョブは実行されません。

ステップ

ステップは、ジョブによって実行される一連のタスクです。ジョブの各ステップは同じ仮想環境で実行されるため、ファイルシステムを使用してそのジョブのアクションで情報を共有することができます。ステップではコマンドまたはアクションを実行できます。

アクション

ジョブを作成する際にステップとして組み合わせる個々のタスク。アクションは、ワークフローのポータブルな最小構成プログラムです。独自のアクションを作成することも、GitHubコミュニティからのアクションを共有することも、パブリックアクションをカスタマイズすることもできます。ワークフローでアクションを使用するには、ステップとして含める必要があります。

継続的インテグレーション (CI)

小規模なコード変更を共有リポジトリに頻繁にコミットしてゆくソフトウェア開発手法。GitHub Actionsでは、コードのビルドとテストを自動化するカスタムのCIワークフローを作成できます。リポジトリから、コード変更のステータスと、ワークフローの各アクションの詳細ログを確認できます。CIを使用すると、コード変更に対するフィードバックをすぐに得られ、バグの検出と解決が迅速になるので、開発者の時間が節約されます。

継続的デプロイメント (CD)

継続的デプロイメントは、継続的インテグレーションの上に成立します。新しいコードをコミットしてCIテストをクリアすると、そのコードは自動的に本番環境にデプロイされます。GitHub Actionsでは、自分のリポジトリから任意のクラウド、セルフホストのサービス、またはプラットフォームに自動的にコードをデプロイするカスタムのCDワークフローを作成できます。CDを使用すると、デプロイプロセスを自動化して開発者の時間が節約され、テスト済みの安定したコード変更が顧客に迅速にデプロイされます。

仮想環境

GitHubは、ワークフローを実行するLinux、macOS、Windowsの仮想環境をホストしています。

runner

各仮想環境で、使用可能なジョブを待機するGitHubサービス。runnerがジョブを選択すると、ジョブのアクションを実行してその進捗、ログ、最終結果がGitHubに戻されます。runnerは、ジョブを一度に1回ずつ実行します。

イベント

ワークフロー実行をトリガーする特定のアクティビティ。たとえば、リポジトリへのコミットがあったときや、Issueまたはプルリクエストが作成されたときに、GitHubからアクティビティが発生します。外部イベントが発生したとき、リポジトリディスパッチwebhookを使用して実行されるワークフローも設定できます。

アーチファクト

アーチファクトは、コードをビルドしてテストするときに作成されるファイルです。たとえば、バイナリまたはパッケージファイル、テスト結果、スクリーンショット、ログファイルなどがあります。アーチファクトは、作成されたワークフロー実行に関連付けられ、他のジョブで使用したりデプロイしたりすることができます。

ワークフロー実行の通知

GitHub Actionsのメールまたはウェブ通知を有効にしている場合、トリガーしたワークフロー実行が完了したときに通知が届きます。通知には、ワークフロー実行のステータス (実行の成功、失敗、ニュートラル、キャンセル) が記載されています。ワークフロー実行が失敗したときにだけ通知を受け取るように設定することもできます。

リポジトリの [Actions] タブでもワークフロー実行のステータスは確認できます。詳細については、「ワークフロー実行の管理」(/articles/managing-a-workflow-run) を参照してください。

GitHubコミュニティでアクションを見つける

GitHub上のパブリックリポジトリで共有されているオープンソースのアクションを使用してプロジェクトをカスタマイズすることができます。 github.com/actions Organizationで、GitHubによってビルドされたアクションを参照して使用することができます。

HCLからYAML構文にGitHub Actionsを移行する

GitHub ActionsでのHCL構文のサポートは、2019年9月30日で非推奨となります。

限定パブリックベータに参加しており、HCL構文のGitHub Actionsでワークフローを作成した場合は、YAML構文を使用する新しい限定パブリックベータにアップグレードする必要があります。リポジトリがアップグレードできるようになると、リポジトリに招待状が表示されます。その招待を受け取ると、新しい限定パブリックベータを利用可能になります。

HCL構文を使用して作成したワークフローは、新しいYAML構文に更新する必要があります。ワークフローとアクションを自動的に変換する場合は、「HCL構文からYAML構文にGitHub Actionsを移行する」(/articles/migrating-github-actions-from-hcl-syntax-to-yaml-syntax) を参照してください。

使用制限

Exceeding usage limits may result in jobs queueing, failing to run, or failing to complete. Limits are subject to change.

また、次の目的ではGitHub Actionsを使用しないでください。

このような使用制限違反や、GitHub Actionsの悪用を防ぐために、GitHubはGitHub Actionsの使用を監視する場合があります。 GitHub Actionsを不正利用した場合には、ジョブが停止されたり、GitHub Actionsの使用を制限されたりすることもあります。

サポートへの連絡

あなたの用途または意図された用途が使用制限のカテゴリに該当するかどうかについて疑問がある場合、またはアカウントが不当に制限されているとお考えの場合は、GitHub Support または GitHub Premium Supportにお問い合わせください。

If you're a participant in the limited public beta, please contact GitHub Support using our contact form and the subject line "GitHub Actions."

If you're not currently participating in the limited public beta, you can request to join the limited public beta on the GitHub Actions page.

GitHub Support will only provide support for the YAML syntax and no longer provides support for the HCL syntax.

参考リンク

](/categories/automating-your-workflow-with-github-actions)でワークフローを自動化する

](/articles/virtual-environments-for-github-actions)の仮想環境

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください