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

アクションについて

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

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

詳細は「GitHub Actionsについて」(/articles/about-github-actions) を参照してください。

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

アクションについて

GitHubの API やパブリックに利用可能なサードパーティAPIとのインテグレーションなど、好きな方法でリポジトリを操作するカスタムコードを書いて、アクションを作成することができます。 たとえば、アクションでnpmモジュールを公開する、緊急の問題が発生したときにSMSアラートを送信する、本番対応のコードをデプロイすることなどが可能です。

ワークフローで使用する独自のアクションを作成したり、ビルドしたアクションをGitHubコミュニティと共有したりできます。 ビルドしたアクションをシェアするには、リポジトリをパブリックにする必要があります。

アクションは、仮想環境またはDockerコンテナで稼働します。 アクションの入力、出力、環境変数を定義できます。

アクションの種類

DockerコンテナのアクションとJavaScriptのアクションをビルドできます。 Actions require a metadata file to define the inputs, outputs and main entrypoint for your action. The metadata filename must be action.yml.

種類 仮想環境
Dockerコンテナ Linux
JavaScript Linux、MacOS、Windows

Dockerコンテナのアクション

Dockerコンテナは、GitHub Actionsコードで環境をパッケージ化します。 アクションの利用者がツールや依存関係を考慮しなくて済むため、作業単位の一貫性と信頼性が向上します。 Dockerコンテナのアクションは、GitHubにホストされたLinux環境でみ実行できます。

Dockerコンテナを使用すると、Osのバージョン、依存関係、ツール、コードを限定することができます。 特定の環境設定で実行しなければならないアクションの場合、オペレーティングシステムとツールを選択できるので、Dockerは理想的な選択肢です。 コンテナのビルドおよび取得のレイテンシにより、Docker コンテナのアクションは JavaScript アクションより遅くなります。

アクションに関するメタデータを提供するには、GitHub Actions設定ファイルを含める必要があります。

JavaScriptのアクション

JavaScriptのアクションは、GitHub にホストされている任意の仮想マシンで直接稼働し、アクションコードを、そのコードの実行に使用される環境から切り分けることができます。 JavaScript のアクションを使うと、アクションコードが単純になり、実行も Docker コンテナのアクションより速くなります。

JavaScriptのアクションでは、アクションに関するメタデータを提供するためにGitHub Actions設定ファイルが必要です。

アクションの場所を選択する

他のユーザーが使うアクションを開発する場合には、他のアプリケーションコードにバンドルするのではなく、アクションをそれ自体のリポジトリに保持しておくことをお勧めします。 こうすると、他のソフトウェアと同様にアクションのバージョニング、追跡、リリースが可能になるからです。

アクションをそれ自体のリポジトリに保存すると、GitHubコミュニティがアクションを見つけやすくなります。また、開発者がアクションの問題を解決したり機能を拡張したりするとき、コードベースのスコープが限定され、アクションのバージョニングが他のアプリケーションコードのバージョニングから切り離されます。

ビルドしているアクションをパブリックに公開する予定がない場合、アクションのファイルはリポジトリのどの場所に保存してもかまいません。 アクション、ワークフロー、アプリケーションコードを 1 つのリポジトリで組み合わせる予定の場合、アクションは .github ディレクトリに保存することをお勧めします。 たとえば、.github/actions/action-a.github/actions/action-bに保存します。

アクションのバージョニング

ワークフローは、コミットSHA、ブランチまたはタグを使用して特定バージョンのアクションを参照できます。

steps:    
  - uses: actions/setup-node@74bc508 # Reference a specific commit
  - uses: actions/setup-node@v1.0    # Reference the major version of a release   
  - uses: actions/setup-node@master  # Reference a branch

GitHubに安定した体験を提供するアクションを作成するときは、セマンティクスバージョニングを使用することをお勧めします。 詳細については、「セマンティクスバージョニング」を参照してください。

  1. セマンティクスバージョニング (v1.0.9) を使用してリリースを作成します。 詳細については、「リリースの作成」を参照してください。
  2. メジャーバージョンのタグ (v1、v2など) を、現在のリリースのGit refに移動します。 詳細については、「Gitの基本 - タグ」を参照してください。
  3. 既存のワークフローを破壊する破壊的変更について、新しいメジャーバージョンのタグ (v2) を導入します。 たとえば、アクションの入力の変更は破壊的変更です。

アクションのREADMEファイルを作成する

アクションをパブリックに共有する予定がある場合には、アクションの使用方法を伝えるため README ファイルを作成することをお勧めします。 README.md には、以下の情報を含めることができます:

参考リンク

担当者にお尋ねください

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

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