0Pricing
DevOps Bootcamp · レッスン

Composite ActionsとMarketplaceへの公開

複数のステップをまとめたComposite Actionsを構築し、適切にバージョン管理して、再利用できるようカスタムアクションをGitHub Marketplaceに公開します。

「Composite ActionsとMarketplaceへの公開」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全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: bash

Shellの指定は必須

注意が必要なルールがあります。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 --force

Marketplaceへの準備

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チューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「Composite ActionsとMarketplaceへの公開」で何を学びますか?

複数のステップをまとめたComposite Actionsを構築し、適切にバージョン管理して、再利用できるようカスタムアクションをGitHub Marketplaceに公開します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Composite ActionsとMarketplaceへの公開」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. カスタム GitHub Actions の開発
  2. オンプレミス向けセルフホステッドランナー
  3. エンタープライズシステムとの統合
  4. Composite ActionsとMarketplaceへの公開
← DevOps Bootcampに戻る