{"meta":{"title":"GitHub Actionsについて","intro":"GitHub Actionsの主要概念と基本的な用語の基本について説明します。","product":"GitHub Actions","breadcrumbs":[{"href":"/ja/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/ja/enterprise-cloud@latest/actions/get-started","title":"概要"},{"href":"/ja/enterprise-cloud@latest/actions/get-started/understand-github-actions","title":"GitHub Actionsを理解する"}],"documentType":"article"},"body":"# GitHub Actionsについて\n\nGitHub Actionsの主要概念と基本的な用語の基本について説明します。\n\n## 概要\n\nGitHub Actions は、ビルド、テスト、デプロイのパイプラインを自動化できる継続的インテグレーションと継続的デリバリー (CI/CD) のプラットフォームです。 リポジトリに対するすべてのプル要求をビルドしてテストするワークフローを作成したり、マージされたプル要求を運用環境にデプロイしたりできます。\n\nGitHub Actions は DevOps だけでなく、リポジトリ内で他のイベントが発生したときにワークフローを実行できます。 たとえば、リポジトリで新しい issue が作成されるたびに、適切なラベルを自動的に追加するワークフローを実行できます。\n\nGitHub には、ワークフローを実行するための Linux、Windows、および macOS 仮想マシンが用意されています。また、独自のデータ センターまたはクラウド インフラストラクチャで独自のセルフホステッド ランナーをホストすることもできます。\n\n企業への GitHub Actions の導入の詳細については、 [企業向けGitHub Actionsの導入](/ja/enterprise-cloud@latest/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise) を参照してください。\n\n## GitHub Actionsのコンポーネント\n\nプル要求が開かれている、作成中の問題など、リポジトリでGitHub Actionsが発生したときにトリガーされる\\*\\*\\*\\***ワークフロー**を構成できます。 ワークフローには、1 つ以上の **ジョブ** が含まれており、ジョブは順次にまたは並列で実行できます。 各ジョブは、専用の仮想マシン **ランナー** 内、またはコンテナー内で実行され、定義した **スクリプト** を実行するか、または **アクション** (ワークフローを簡略化できる再利用可能な拡張機能) を実行する 1 つ以上のステップで構成されます。\n\n![ランナー 1 をトリガーしてジョブ 1 を実行し、それによってランナー 2 がジョブ 2 の実行をトリガーするイベントの図。 各ジョブは複数のステップに分割されています。](/assets/images/help/actions/overview-actions-simple.png)\n\n### ワークフロー\n\n**ワークフロー**とは、1 つ以上のジョブを実行する構成可能な自動化プロセスです。 ワークフローは、リポジトリにチェックインされる YAML ファイルによって定義され、リポジトリ内のイベントによってトリガーされたときに実行されます。また、手動でトリガーしたり、定義されたスケジュールでトリガーしたりすることもできます。\n\nワークフローは、リポジトリ内の `.github/workflows` ディレクトリで定義されます。 1 つのリポジトリで複数のワークフローを使用でき、それぞれで次のような異なるタスクのセットを実行できます。\n\n* Pull request のビルドとテスト\n* リリースが作成される度にアプリケーションを配置する\n* 新しい issue が開かれる度にラベルを追加する\n\n別のワークフロー内のワークフローを参照できます。 詳しくは、「[ワークフローを再利用する](/ja/enterprise-cloud@latest/actions/how-tos/reuse-automations/reuse-workflows)」をご覧ください。\n\n詳しくは、「[ワークフローの書き込み](/ja/enterprise-cloud@latest/actions/how-tos/write-workflows)」をご覧ください。\n\n### イベント\n\n**イベント**とは、**ワークフロー**実行をトリガーする、リポジトリ内の特定のアクティビティです。 たとえば、アクティビティは、誰かが pull request を作成したり、問題を開いたり、リポジトリにコミットをプッシュしたりしたときに、 GitHub から発生する可能性があります。 また、[\\[スケジュール\\]](/ja/enterprise-cloud@latest/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule) に従って、[\\[REST API に投稿\\]](/ja/enterprise-cloud@latest/rest/repos/repos#create-a-repository-dispatch-event) または手動で、ワークフロー実行を作動させることもできます。\n\nワークフローのトリガーに使用できるイベントの完全な一覧については、「[ワークフローをトリガーするイベント](/ja/enterprise-cloud@latest/actions/reference/workflows-and-actions/events-that-trigger-workflows)」を参照してください。\n\n### ジョブ\n\n**ジョブ**とは、同じ**ランナー**で実行される、ワークフロー内の一連の**ステップ**です。 各ステップは、実行されるシェル スクリプト、または実行される **アクション** のいずれかです。 ステップは順番に実行され、相互に依存します。 各ステップは同じランナーで実行されるため、あるステップから別のステップにデータを共有できます。 たとえば、アプリケーションをビルドするステップの後に、ビルドされたアプリケーションをテストするステップを続けることができます。\n\n手順は既定で順番に実行されますが、ワークフローで並列実行の利点がある場合 (実行時間の長いサービスを開始しながら、後の手順を続行する場合など) に、選択したステップを同時に実行することもできます。 詳しくは、「[GitHub Actions　のワークフロー構文](/ja/enterprise-cloud@latest/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstepsbackground)」をご覧ください。\n\nジョブと他のジョブとの依存関係を構成できます。既定では、ジョブに依存関係はなく、並列で実行されます。 ジョブが別のジョブに依存している場合、そのジョブは、依存しているジョブが完了するまで待機してから実行されます。\n\nまた、**マトリックス**を使用すると、オペレーティング システムや言語のバージョンなど、変数の組み合わせをそれぞれ変えて同じジョブを複数回実行することもできます。\n\nたとえば、ジョブに依存していないさまざまなアーキテクチャ用の複数のビルド ジョブと、それらのビルドに依存するパッケージ化ジョブを設定するとします。 ビルド ジョブは並列で実行され、それらがすべて正常に完了したら、パッケージ化ジョブが実行されます。\n\n詳しくは、「[ワークフローの目的を選択](/ja/enterprise-cloud@latest/actions/how-tos/write-workflows/choose-what-workflows-do)」をご覧ください。\n\n### アクション\n\n**アクション**は、**ワークフロー**内で特定のタスクを実行する、再利用可能な定義済みジョブまたはコードのセットです。これによりワークフロー ファイルに記述する繰り返しコードの量を減らすことができます。 アクションは、次のようなタスクを実行することができます。\n\n* Git リポジトリ GitHub からプルする\n* ビルド環境のツールチェーンの設定\n* クラウド プロバイダーに対する認証の設定\n\n独自のアクションを記述することも、 GitHub Marketplaceのワークフローで使用するアクションを見つけることができます。\n\nアクションを公開せずに企業全体でアクションを共有するには、アクションを内部リポジトリに格納し、同じ組織または企業内の任意の組織が所有する他のリポジトリの GitHub Actions ワークフローへのアクセスを許可するようにリポジトリを構成します。 詳しくは、「[アクションとワークフローを企業と共有する](/ja/enterprise-cloud@latest/actions/how-tos/reuse-automations/share-with-your-enterprise)」をご覧ください。\n\nアクションの詳細については、「[自動化の再利用](/ja/enterprise-cloud@latest/actions/how-tos/reuse-automations)」を参照してください。\n\n### ランナー\n\n**ランナー**とは、ワークフローがトリガーされると実行されるサーバーです。 各ランナーは一度に 1 つの**ジョブ**を実行できます。\n\nGitHub には、 **ワークフロー**を実行するための Ubuntu Linux、Microsoft Windows、および macOS ランナーが用意されています。 各ワークフロー実行は、新しくプロビジョニングされた仮想マシンで実行されます。\n\nGitHub には、より大きな構成で使用できる より大きなランナーも用意されています。 詳しくは、「[より大きなランナーの使用](/ja/enterprise-cloud@latest/actions/how-tos/manage-runners/larger-runners)」をご覧ください。\n\n別のオペレーティング システムが必要な場合、または特定のハードウェア構成が必要な場合は、独自のランナーをホストできます。\n\nセルフホスト ランナーの詳細については[セルフホステッド ランナーの管理](/ja/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners) をご参照ください。\n\n## 次のステップ\n\nGitHub Actions は、アプリケーション開発プロセスのほぼすべての側面を自動化するのに役立ちます。 使い始める準備はできていますか。\nGitHub Actionsで次の手順を実行するために役立つリソースを次に示します。\n\n* GitHub Actionsワークフローを作成するには、「[ワークフロー テンプレートの使用](/ja/enterprise-cloud@latest/actions/how-tos/write-workflows/use-workflow-templates)」を参照してください。\n* 継続的インテグレーション (CI) ワークフローについては、「[コードのビルドとテスト](/ja/enterprise-cloud@latest/actions/tutorials/build-and-test-code)」を参照してください。\n* パッケージのビルドと公開については、「[パッケージを公開する](/ja/enterprise-cloud@latest/actions/tutorials/publish-packages)」を参照してください。\n* プロジェクトの配置については、「[サード パーティ製プラットフォームへのデプロイ](/ja/enterprise-cloud@latest/actions/how-tos/deploy/deploy-to-third-party-platforms)」を参照してください。\n* GitHubでのタスクとプロセスの自動化については、[GitHub Actions を使って作業を管理する](/ja/enterprise-cloud@latest/actions/tutorials/manage-your-work) を参照してください。\n* GitHub Actionsのより複雑な機能を示す例については、[AUTOTITLE を](/ja/enterprise-cloud@latest/actions/how-tos/write-workflows/choose-what-workflows-do)参照してください。 これらの詳細な例では、ランナーでコードをテストし、 GitHub CLI にアクセスし、コンカレンシーやテスト マトリックスなどの高度な機能を使用する方法について説明します。\n* GitHub Actionsを使用してワークフローを自動化し、開発を加速する能力を認定するには、GitHub ActionsでGitHub Certifications証明書を取得します。 詳細については、 [AUTOTITLE を](/ja/enterprise-cloud@latest/get-started/showcase-your-expertise-with-github-certifications/about-github-certifications)参照してください。\n\n> \\[!NOTE]\n> リポジトリのコンテンツに関するコンテキスト判断を必要とする自動化の場合は、従来のagentic workflows ワークフローではなく、自然言語でGitHub Actionsを作成することもできます。 詳細については、「[最初のエージェント型ワークフロー](/ja/enterprise-cloud@latest/copilot/how-tos/github-agentic-workflows/quickstart)」および「[GitHubのエージェント型ワークフローの作成](/ja/enterprise-cloud@latest/copilot/how-tos/github-agentic-workflows/creating-github-agentic-workflows)」を参照してください。\n\n## 参考資料\n\n* [企業向けGitHub Actionsについて](/ja/enterprise-cloud@latest/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)"}