🙆♀️
ECSのtagの付け替えPR作成を自動化するCLIを作成しました
使い方
Dockerfileで使用する方法
下記のURLから適切なCPUアーキテクチャを選択してください
変更したいタグのcontianer-path or task-pathのどちらかを引数に加えてくださいFROM ghcr.io/naonao2323/ecs-task-def:dbf1e76068d2042947b4edadb33d894d541a4d2f@sha256:cb2b33d9cb4b30430a58be383c7a73c9d0d531cee6aa6e36f8d6be32f802ad17
ENTRYPOINT ["task", "ecs-task-def", "--container-name", "変更したいコンテナ名", "--task-path", "変更したいtagのディレクトリパス", "--github-email", "github acountのメールアドレス", "--github-owner", "githubリポジトリのオーナー名", "--github-repository", "リポジトリ名", "--github-token", "適切に絞られたgithub token", "--github-username", "githubのユーザー名", "--target-tag", "変更したいタグ", "--github-url", "githubのレポジトリURL(https)"]
github actionsで使用する方法
name: tag
permissions:
id-token: write
contents: read
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-22.04
timeout-minutes: 300
steps:
- uses: "naonao2323/ecs-task-def-action@v0.0.8"
with:
task-path: '変更対象のpath'
container-name: '変更対象のコンテナの名前'
target-tag: '変更後のタグ'
github-email: 'githubのメールアドレス'
github-owner: 'レポジトリの所有者のusername'
github-repository: 'リポジトリ名'
github-token: 'github token名'
github-url: 'github repository url(https)'
github-username: 'github username'
こだわったところ
テンプレートメソッドパターン
ECSのtask定義とcontianer定義に対応すべく、Goのgenericsを使用してテンプレートメソッドパターンを使用しました
ローカル環境に依存しないようなアーキテクチャ
タグ変更PRを作成するとき、ローカルを参照するのではなく、クローンしたリポジトリを参照しております
まとめ
たくさんのフィードバック待ってます!
Discussion