GitHub Actionsは、GitHubが提供するCI/CDサービスである。

GitHubと高度に統合されており、GitHubに公開されたコードを自動でビルド・テスト・デプロイを行うのが主目的である。

要素 GitHub Actionsは複数の要素から構成される。

Step GitHub Actionsにおける step はjobを構成する1要素である"A job is a set of steps in a workflow that execute on the same runner." GitHub. Understanding GitHub Actions. 2023-02-18閲覧.。実体は次のいずれかである"Each step is either a shell script that will be executed, or an action that will be run." GitHub. Understanding GitHub Actions. 2023-02-18閲覧.。

シェルスクリプト action

Action GitHub Actionsにおける action はstepとして利用可能なプログラムである。実体は以下のいずれかである"You can build Docker container, JavaScript, and composite actions." GitHub. Understanding GitHub Actions. 2023-02-18閲覧.。

Docker container JavaScript Composite Actions: 他actionの集まり

例えばJavaScript actionsであれば設定ファイルで実行Node.js環境を指定した上で、所定のJavaScriptファイルが自動実行される。Node.jsのバージョンはメタデータの runs.using を用いて指定され、2023-02現在、node12 と node16 の2種類が指定できる"runs.using for JavaScript actions" GitHub. Metadata syntax for GitHub Actions. 2023-02-18閲覧.(node12 は廃止予定)。

設定 リポジトリの .github/workws以下にYAML形式の設定ファイルを記述することで設定を行う。

設定はワークフローとアクションという単位で行われる。

ワークフロー 設定ファイルの基本単位。イベントが起きたときに実行する処理を記述しておく。

アクション 再利用可能な設定ファイルの単位。アクションだけを定義したリポジトリを読み込むことで複数のリポジトリから利用したり、ワークフローの存在するリポジトリに置くことでそのリポジトリにある複数のワークフローから利用することができる。

GitHubから公式でRubyやGo言語などの環境構築をするためのアクションが用意されている。

脚注

外部リンク Actions | GitHub Features・GitHub Actions・GitHub