カスタムActionsとMarketplace
GitHub Actions Marketplaceにある構築済みのActionを探し、独自のカスタムActionを作成する方法を学びます。
「カスタムActionsとMarketplace」はCoddyKit上の無料Git & GitHub Professional Workflowレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはGit & GitHub Professional Workflow学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Git & GitHub Professional Workflowコースには全4レッスンが含まれています。
GitHub Actions Marketplaceを探索する
GitHub Actions Marketplaceへようこそ!ここは、GitHubやオープンソースの貢献者、商用パートナーが作成した、何千もの事前構築済みアクションを見つけられる活気ある場所です。
これらのアクションはワークフローに簡単に統合でき、一般的なタスク向けの既存ソリューションを再利用することで、時間と労力を節約できます。
適切なアクションを見つける
Marketplaceの利用方法は簡単です。キーワードでアクションを検索し、「CI/CD」や「Deployment」などのカテゴリで絞り込み、人気順に並べ替えられます。
- 高いスター評価を持ち、活発にメンテナンスされているアクションを探します。
- アクションのドキュメントで、使用方法、入力、出力を確認します。
- 客観的な評価材料として、公開リポジトリでそのアクションが使われた回数を確認します。
既成のアクションを統合する
Marketplaceのアクションは簡単に使えます。ワークフローのYAMLでusesキーワードを使い、続けてアクションのowner/repo@versionを指定します。
よく使われる例がactions/checkoutです。これはリポジトリのコードをチェックアウトし、ワークフローからアクセスできるようにします。
name: Marketplace Demo
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Say hello
run: echo "Hello from workflow!"アクションの入力と出力
多くのアクションでは、withキーワードを使って入力を指定し、動作をカスタマイズできます。また、ワークフロー内の他のステップで利用できる出力を生成することもあります。
たとえば、actions/setup-nodeアクションにはnode-version入力を渡せます。
name: Node Setup Demo
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: '18.x'
- name: Install dependencies
run: npm install独自のアクションを作成する場面
Marketplaceには多くのアクションがありますが、特定の処理が必要になることもあります。そのようなときに役立つのがカスタムアクションです。
カスタムアクションは、次のような目的で作成できます。
- 社内ツールの処理を自動化する。
- 既存のアクションでは対応していない独自のAPIと統合する。
- プロジェクトのビルドプロセスに固有の、高度に専門化されたタスクを実行する。
カスタムアクションの種類
作成できるカスタムアクションには、主に次の2種類があります。
- JavaScript Actions:Node.jsを使い、ランナーマシン上で直接実行します。一般に開発が速く、共有も簡単です。
- Docker Container Actions:Dockerコンテナ内で実行します。環境と依存関係をカプセル化できるため、異なるランナー間でも一貫した実行を実現できます。
ここでは、分かりやすさを優先してJavaScript Actionsに焦点を当てます。
`action.yml`ファイル
すべてのカスタムアクションにはaction.ymlファイルが必要です。このファイルでは、名前、説明、受け付ける入力、生成する出力、実行方法など、アクションのメタデータを定義します。
これはアクションのマニフェストのようなもので、GitHub Actionsに必要な情報をすべて伝えます。
name: 'My Custom Greeting Action'
description: 'Greets a person with a custom message.'
inputs:
who-to-greet:
description: 'Who to greet'
required: true
default: 'World'
outputs:
time:
description: 'The time we greeted you'
runs:
using: 'node16'
main: 'index.js'シンプルなJavaScriptアクションを構築する
非常に基本的なJavaScriptアクションを作成しましょう。action.ymlで指定するindex.jsファイルと、通常は依存関係を記述するpackage.jsonが必要です。
@actions/coreパッケージは、入力の取得や出力の設定など、ワークフローとの連携に不可欠です。
const core = require('@actions/core');
async function run() {
try {
const nameToGreet = core.getInput('who-to-greet');
console.log(`Hello ${nameToGreet}!`);
const time = (new Date()).toTimeString();
core.setOutput("time", time);
} catch (error) {
core.setFailed(error.message);
}
}
run();カスタムアクションを統合する
カスタムアクションを使うには、そのファイル(action.yml、index.jsなど)をリポジトリ内のサブディレクトリに配置します。次に、ワークフローでuses: ./path/to/your/actionのように相対パスを使って参照します。
これにより、Marketplaceで公開する前に、アクションをローカルでテストできます。
name: Use Custom Action Demo
on: [push]
jobs:
greet:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run my custom action
uses: ./my-custom-action # Path to action directory
with:
who-to-greet: 'CoddyKit User'
- name: Get the output time
run: echo "The greeting time was ${{ steps.run-my-custom-action.outputs.time }}"カスタムアクションの構成要素
カスタムGitHub Actionsの作成と使用に関わる主要な要素を学びました。理解度を確認してみましょう。
Marketplaceとカスタムアクションのまとめ
よくできました!GitHub Actions Marketplaceとカスタムアクションの両方の力について学びました。
- Marketplaceには、ワークフローを効率化できる、すぐに使えるアクションが豊富にそろっています。
- カスタムアクションを使うと、独自のプロジェクトや組織のニーズに合わせてGitHub Actionsを拡張できます。
これらを組み合わせれば、非常に強力で目的に合わせた自動化パイプラインを構築できます。
よくある質問
「カスタムActionsとMarketplace」レッスンは無料ですか?
はい。「カスタムActionsとMarketplace」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Git & GitHub Professional Workflowコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Git & GitHub Professional Workflowコースには全4レッスンが含まれています。
「カスタムActionsとMarketplace」で何を学びますか?
GitHub Actions Marketplaceにある構築済みのActionを探し、独自のカスタムActionを作成する方法を学びます。 ブラウザで直接実行するハンズオンコードでGit & GitHub Professional Workflowを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Git & GitHub Professional Workflowを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのGit & GitHub Professional Workflowは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「カスタムActionsとMarketplace」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このGit & GitHub Professional Workflowレッスンでコードを書いて実行できますか?
はい。すべてのGit & GitHub Professional Workflowレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- GitHub Actions入門
- CI/CDワークフローの構築
- カスタムActionsとMarketplace
- Actions の Secrets と環境変数