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

GitHub Actionsについて

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

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

GitHub Actionsの使用に関する詳しい情報については、「GitHub Actionsでワークフローを自動化する」を参照してください。

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

GitHub Actions について

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

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

ワークフローは、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の仮想環境をホストします。

ランナー

各仮想環境で実行できるジョブを待つGitHubのサービスです。 ランナーは、ジョブを選択するとそのジョブのアクションを実行し、進行状況、ログ、最終結果の報告をGitHubに返します。 ランナーは一度に1つのジョブを実行します。

イベント

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

アーティファクト

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

ワークフロー実行の通知

GitHub Actionsに対するメールあるいはWeb通知を有効化すると、あなたが起動したワークフローランが完了すると通知されます。 この通知には、ワークフローランのステータス(成功、失敗、ニュートラル、キャンセルされたランが含まれます)が含まれます。 ワークフローランが失敗したときにだけ通知を受けるようにすることもできます。

リポジトリのActionsタブでワークフローランのステータスを見ることもできます。 詳細については、「ワークフロー実行の管理」を参照してください。

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

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

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

GitHub no longer supports the HCL syntax in GitHub Actions.

If you participated in the limited public beta and created workflows with the HCL syntax, you already have access to the new limited public beta that uses YAML syntax.

You'll need to migrate any workflow files that use HCL syntax to use the new YAML syntax. YAML構文の詳細と、GitHub Actionsの変更については、「GitHub Actionsのワークフロー構文」と「GitHub Actionsについて」を参照してください。

You'll also need to ensure you create a metadata file for any actions you've built. For more information, see "Metadata syntax for GitHub Actions" and "About actions."

使用制限

利用制限を超えると、ジョブのキューイング、実行の失敗、完了の失敗といったことが起こるかもしれません。制限は変更されることがあります。

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

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

GitHub Actionsの限定パブリックベータへの参加をリクエストする

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

現時点で限定的なパブリックベータに参加していない場合は、GitHub Actions ページから、限定パブリックベータへの加入をリクエストできます。

サポートへの連絡

If you need help with anything related to workflow configuration, such as syntax, virtual environments, or building actions, look for an existing topic or start a new one in the GitHub コミュニティフォーラム's GitHub Actions board.

If you have feedback or feature requests for GitHub Actions, share those in the Feedback form for GitHub Actions.

Contact GitHub Supportまたは GitHub Premium Support for any of the following, whether your use or intended use falls into the usage limit categories:

現時点で限定的なパブリックベータに参加していない場合は、GitHub Actions ページから、限定パブリックベータへの加入をリクエストできます。

GitHub SupportはYAML構文のみをサポートし、HCL構文へのサポートは提供しません。

参考リンク

担当者にお尋ねください

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

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