GitHub のテンプレートファイルを Service Catalog の製品に同期してみた

GitHub のテンプレートファイルを Service Catalog の製品に同期してみた

2025.12.21

アノテーションテクニカルサポートの小川です。
この記事は アノテーション株式会社 AWS Technical Support Advent Calendar 2025 | Advent Calendar 2025 - Qiita 21日目の記事です。
GitHub のテンプレートファイルを Service Catalog の製品に同期する際の設定手順をブログにまとめました。

GitHub リポジトリにテンプレートをプッシュ

まず、GitHub リポジトリにテンプレートをプッシュします。
今回のテンプレートの中身は以下のとおりで、SNS トピックを作成する単純な CloudFormation テンプレートです。

sns.yml
AWSTemplateFormatVersion: 2010-09-09

Resources:
  SNS:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: test-create-by-service-catalog

リポジトリには sns.yml のみ存在します。

リポジトリ

Service Catalog で製品を作成

Service Catalog の製品を作成します。

製品を作成01

バージョンソースには「CodeStar プロバイダーを使用してコードリポジトリを指定します」を選択します。
今回は既存の CodeStar 接続があるので既存の接続を選択し、リポジトリ・ブランチを選択の上テンプレートファイルパスを sns.yml に指定して作成します。

製品を作成02

作成が完了しました。

製品を作成03

作成された製品バージョンを確認すると、GitHub リポジトリのテンプレートと同一のテンプレートであることがわかります。

製品バージョン

GitHub リポジトリのテンプレートの内容を変更し、Service Catalog の製品で新しいバージョンが作成されることを確認する

それでは、リポジトリのテンプレートの内容を変更し、Service Catalog の製品で自動的に新しいバージョンが作成されることを確認します。
変更箇所は、テンプレートの TopicName の末尾に-modifyを追加したのみです。

sns.yml
AWSTemplateFormatVersion: 2010-09-09

Resources:
  SNS:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: test-create-by-service-catalog-modify

この状態で、git pushを行った後、Service Catalog の製品を見てみます。
赤枠で囲んだとおり、新しいバージョンが作成されていることが分かります。

製品を作成04

新しいバージョンを見てみると、変更後のテンプレートの内容になっていることが分かります。

製品バージョン02

参考資料

GitHub、GitHub Enterprise、Bitbucket から製品をテンプレートファイルに同期する

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。

この記事をシェアする

FacebookHatena blogX

関連記事