この記事は GitHub dockyard Advent Calendar 2024 の 4 日目の記事となります。
自分が作成した GitHub のワークフローを公開したいと思ったので、半分備忘録ということでこの記事を作成しました。
今回作成したワークフローはこちら↓↓↓
はじめに
GitHub Actionsは、リポジトリ内のワークフローを自動化するとても便利で強力なツールです。
作成するだけでなく、自分で作ったワークフローを GitHub Marketplace に公開することによって、他の開発者と共有し、再利用性を高めることができます。
この記事では、独自の GitHubActions を作成し、GitHub Marketplace に公開する手順を詳しく解説します。
アクションの作成
まず、GitHub 上で新しいリポジトリを作成し、その中でアクションを定義します。
アクションは、特定のタスクを実行する独立した機能として設計します。
リポジトリのルートディレクトリに action.yml
ファイルを作成し、アクションのメタデータを定義します。
アクションに必要なメタデータや関連ファイルはのみリポジトリに含めてください。
.
├── LICENSE
├── README.md
├── action.yml
├── docs
└── README.jp.md
リリースの作成とタグ付け
アクションが正しく動作することを確認し問題がなければ、リポジトリで新しいリリースを作成し、バージョンのタグ付けをします。
リリース時の必須事項
アクションをリリースする際、以下のような必須事項を求められます。
これらが全て問題ない場合、リリースノート・タグを作成して、公開することができます。
- Name : アクションの名前を決めます。他のアクションと同名にならないように注意してください
- Description:アクションの説明を書きます。基本的には英語で作成してください
- Icon : 公開する際のアイコンを作成します
- Color:公開する際のカラーを作成します
これら4つを↓のように action.yml
の一番上に書き込みます。
必須ではないですが、author
も書くことをオススメします。
name: Auto Release Labeler and Note
description: Automatically labels release PRs and creates release notes upon merging.
author: 'KaitoMuraoka'
branding:
icon: 'bookmark'
color: 'yellow'
タグ付けのワンポイント
タグ付けはアプリやライブラリを作成するのと同様に、そのアクションのバージョンを書いていきます。
付け方に決まりは特別決まっていはいませんが、以下のようにすると他の有名なアクションと統一性が生まれると思うのでおすすめします。
- tag の初めは必ず
v
から始める:v2.1.4
- バージョンが 2.0.0 の場合は、
v2
とする
こうすることで、ワークフローを記述する際に、以下のように書くことができます。
uses: [user_name]/[action_name]@v[app_version]
これは、actions/checkout
のワークフローなどでよく見かけるバージョン指定のやり方です。
GitHub Marketplace での公開
上記の内容が完了すれば、
リリースを公開すると、アクションが GitHub Marketplace に掲載され、他のユーザーが利用できるようになります。公開後も、フィードバックを受け、アクションを改善し、バージョンアップを行うことで、より多くのユーザーによって有用なツールとなります。
参考文献