🙆‍♀️

ECSのtagの付け替えPR作成を自動化するCLIを作成しました

2024/09/26に公開

使い方

Dockerfileで使用する方法

下記のURLから適切なCPUアーキテクチャを選択してください
https://github.com/naonao2323/ecs-task-def/pkgs/container/ecs-task-def
変更したいタグの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'

https://github.com/naonao2323/ecs-task-def-action

こだわったところ

テンプレートメソッドパターン

ECSのtask定義とcontianer定義に対応すべく、Goのgenericsを使用してテンプレートメソッドパターンを使用しました

ローカル環境に依存しないようなアーキテクチャ

タグ変更PRを作成するとき、ローカルを参照するのではなく、クローンしたリポジトリを参照しております

まとめ

たくさんのフィードバック待ってます!
https://github.com/naonao2323/ecs-task-def

Discussion