2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめてのアドベントカレンダーAdvent Calendar 2024

Day 8

AWS CDK workshopでAWS Code commitの代わりにGitHubを使用する方法

Posted at

これは何?

AWS CDKワークショップの 高度なトピック (オプション) にて、AWS CodeCommitを使用して、Pipelineを作成する項目がある。しかし、AWS CodeCommitはサービスの新規提供が終了し、新規の利用ができない状態。(2024年12月現在)
そのため、代わりにGitHubを使用して、Pipelineを構築する方法。

TL;DR

  • CodeCommit自体はコードRepositoryのため、GitHubにて代用が可能。GitHubのRepositoryを作成し、コードをpushする
  • AWS developer toolsのConnections にて、GitHubとの接続を設定する
  • 発行されるARNを利用して、Pipeline設定を行う

AWS CDK workshop自体はこちら

前提

workshopを進めていくと、 高度なトピック (オプション) > CDK Pipelines > リポジトリの作成 にてエラーとなる。
原因として、AWS CodeCommitの新規利用が停止されているため。公式Blog

手順

GitHubとの接続設定

GitHubのRepositoryを作成し、コードをコミット、プッシュする。

AWSコンソールにLoginし、Developer ToolsのSettings>Connectionsに移動。
スクリーンショット 2024-12-15 12.12.02.png

Create Connectionsから接続先: GitHub、任意の名前を入力し、接続を選択。
初めて利用する場合は、GitHubにリダイレクトされ、必要なAppをInstallすることになる。

次に接続設定を行う。Install new App を選択する。GitHubにリダイレクトし、接続するRepositoryを選択することになる。
スクリーンショット 2024-12-15 12.15.45.png

接続が終わると、Connectionsが新規作成されている。

GitHubとの接続を利用した、Pipeline設定

workshopのコードにて、CodeCommitを作成するコードを削除し、Pipelineの

from aws_cdk import Stack
from aws_cdk import pipelines as pipelines
from constructs import Construct


class WorkshopPipelineStack(Stack):

    def __init__(self, scope: Construct, id: str, **kwargs) -> None:
        super().__init__(scope, id, **kwargs)

-        # Creates a CodeCommit repository called 'WorkshopRepo'
-        repo = codecommit.Repository(
-            self, "WorkshopRepo", repository_name="WorkshopRepo"
-        )

        pipeline = pipelines.CodePipeline(
            self,
            "Pipeline",
            synth=pipelines.ShellStep(
                "Synth",
-               input=pipelines.CodePipelineSource.code_commit(repo, "main"),
+                input=pipelines.CodePipelineSource.connection(
+                    "{GitHub user名}/{GitHub Repository名}",
+                    "{branch名}",
+                    connection_arn="arn:aws:codeconnections:...(connectionsで作成されたARN)",
                ),
                commands=[
                    "npm install -g aws-cdk",
                    "pip install -r requirements.txt",
                    "cdk synth",
                ],
            ),
        )

チュートリアルどうりに以下のコマンドを実行。

git commit -am "MESSAGE" && git push
cdk deploy

CodePipelineを確認し、作成されていることを確認する。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?