既存のCodePipeline/CodeBuildプロジェクトをCloudformationにエクスポートする方法はありますか?
既存のCI/CDインフラストラクチャをコードに変換している最中なので、他のAWSリージョンに簡単に複製できます。
現在、すべてのCodePipeline/CodeBuildプロジェクトはブラウザーのAWSコンソールを介して実行されていますが、これは面倒でエラーが発生しやすいことは明らかです。
すでにいくつかのコードパイプラインを作成している場合は、CLIを使用してそれらをクラウドフォーメーションとして抽出します。
コマンドはおおよそこれです
aws codepipeline get-pipeline --name
これにより、クラウドフォーメーション用のコードパイプラインリソースが返されます。 codebuildプロジェクトやs3バケットやcodecommitリポジトリなどの他のリソースに入力する必要がある場所を確認できます。
ただし、cloudformationによってテンプレートが有効であると見なされるようにするには、テンプレートを操作する必要があることに注意してください。 CLIからのリソースの行は大文字で始める必要があるため、それを変更するのは面倒です。
もう1つ知っておくべきことは、必要なパイプラインです。テンプレートにも2つの役割があり、それ自体がバケットであると思います。これらすべてを単一のテンプレートにまとめることで、再現性のあるパイプラインを実現できます。幸運を!
通常、既存のリソースからCloudFormationテンプレートを生成するために CloudFormer をお勧めしますが、CodePipeline/CodeBuildがサポートされているようには見えません。
次善の策は、既存のテンプレートから始めて、必要に応じてそれらを変更することです。
ここではいくつかの例を示します。
そして、codebuild-projectに対してこれを試してください:
aws codebuild batch-get-projects --name --output json
次に、CodeBuildテンプレートです。ヒント:
awsヘルプ
または
awscodebuildヘルプ
非常によく役立ちます。