Composite ActionsとMarketplaceへの公開
複数のステップをまとめたComposite Actionsを構築し、適切にバージョン管理して、再利用できるようカスタムアクションをGitHub Marketplaceに公開します。
「Composite ActionsとMarketplaceへの公開」はCoddyKit上の無料CI/CD with GitHub Actions & DevOps Pipelinesレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCI/CD with GitHub Actions & DevOps Pipelines学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CI/CD with GitHub Actions & DevOps Pipelinesコースには全4レッスンが含まれています。
カスタムアクションの3つの種類
GitHubでは、カスタムアクションを作成する方法が3つあります。
- JavaScriptアクション — Nodeのコードを実行します
- Dockerアクション — コンテナ内で実行します
- Compositeアクション — 複数のワークフローステップをまとめます
このレッスンでは、Compositeアクションと公開に焦点を当てます。
Compositeアクションとは
Compositeアクションは、JavaScriptを書いたりDockerイメージをビルドしたりせずに、複数のrunステップや他のアクション呼び出しを1つの再利用可能な単位にまとめます。
シェルコマンドの繰り返し実行をまとめるのに適しています。
action.ymlファイル
すべてのアクションは、ルートにあるaction.ymlで定義されます。Compositeアクションでは、runs.usingにcompositeを設定します。
name: Setup Project
description: Install deps and build
runs:
using: composite
steps:
- run: npm ci
shell: bash
- run: npm run build
shell: bashShellの指定は必須
注意が必要なルールがあります。Compositeアクションでは、すべてのrunステップでshellを必ず宣言する必要があります。これを忘れることが、Compositeアクションを作成する際に最もよくあるエラーです。
- run: echo 'hello'
shell: bash入力の定義
inputsを使って、アクションを設定可能にします。呼び出し側はwithで値を渡し、inputs.<name>として参照します。
inputs:
node-version:
description: Node version
required: false
default: '20'
runs:
using: composite
steps:
- run: echo Using ${{ inputs.node-version }}
shell: bash出力の定義
複合アクションは出力を返せます。ステップがGITHUB_OUTPUTに書き込み、アクションがそれを名前付きの出力に割り当てます。
outputs:
build-id:
value: ${{ steps.gen.outputs.id }}
runs:
using: composite
steps:
- id: gen
run: echo "id=$(date +%s)" >> $GITHUB_OUTPUT
shell: bashローカルアクションの使用
同じリポジトリに保存されているアクションはパスで参照できます。公開前の開発時に便利です。
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-project
with:
node-version: '20'タグによるバージョン管理
公開されたアクションはgit refで参照します。ベストプラクティスは、リリースにv1.0.0のようなタグを付け、移動するv1タグも維持することです。
@v1を使用する呼び出し元は、後方互換性のある更新を自動的に取得します。
git tag -a v1.0.0 -m 'release'
git tag -f v1
git push --tags --forceMarketplaceへの準備
GitHub Marketplaceで公開するには、アクションをパブリックリポジトリに配置し、name、description、そしてできればbranding(アイコンと色)を含むaction.ymlを用意する必要があります。
branding:
icon: package
color: blueリリースの公開
リポジトリのReleasesページで、対象のタグのリリースを作成します。GitHubにPublish this Action to the Marketplaceチェックボックスが表示されます。
同意事項に同意し、カテゴリを選択して公開します。これで、誰でもそのアクションを検索できるようになります。
使用方法のドキュメント化
優れたアクションには、使用例、入力、出力を明確に示すREADMEが付属しています。
アクションを評価する企業はこのドキュメントを重視するため、正確かつ完全な状態に保ってください。
確認テスト
複合アクションについての理解度を確認しましょう。
まとめ
複合アクションを作成して公開する方法を学びました。
- 複合アクションは
runs.using: compositeを使ってステップをまとめます - すべての実行ステップで
shellを明示的に指定する必要があります - 再利用できるように入力と出力を公開します
- セマンティックバージョンと移動するメジャータグを付けてから、Marketplaceで公開します
再利用可能なアクションは、チームが共有するCI/CDロジックを拡張するための方法です。
よくある質問
「Composite ActionsとMarketplaceへの公開」レッスンは無料ですか?
はい。「Composite ActionsとMarketplaceへの公開」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CI/CD with GitHub Actions & DevOps Pipelinesコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CI/CD with GitHub Actions & DevOps Pipelinesコースには全4レッスンが含まれています。
「Composite ActionsとMarketplaceへの公開」で何を学びますか?
複数のステップをまとめたComposite Actionsを構築し、適切にバージョン管理して、再利用できるようカスタムアクションをGitHub Marketplaceに公開します。 ブラウザで直接実行するハンズオンコードでCI/CD with GitHub Actions & DevOps Pipelinesを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CI/CD with GitHub Actions & DevOps Pipelinesを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCI/CD with GitHub Actions & DevOps Pipelinesは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Composite ActionsとMarketplaceへの公開」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCI/CD with GitHub Actions & DevOps Pipelinesレッスンでコードを書いて実行できますか?
はい。すべてのCI/CD with GitHub Actions & DevOps Pipelinesレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- カスタム GitHub Actions の開発
- オンプレミス向けセルフホステッドランナー
- エンタープライズシステムとの統合
- Composite ActionsとMarketplaceへの公開