CodeConnections とは
クラメソさんの記事が安定のわかりやすさです。
WS CodeStar Connectionsですが、(略) CodePipeline等でGitHub等の外部リポジトリに接続する際に使う「接続」の部分を担うサービスとなります。
CodePipeline等でGitHub等の外部リポジトリに接続する際に使う「接続」の部分を担うサービスとあります。
まさにその通りです。
Codecommitがサ終してしまうので、乗り換えてみようと思います!!!
やってみる
リポジトリの準備
github上に適当なprivateリポジトリを作成します。
buildspec.ymlを作成してpushしておきます。
プライベートリポジトリの内容がビルドソースとして取得できていることを確認したいので、ls -al
させるだけにしておきます。
version: 0.2
phases:
build:
commands:
- echo "Listing repository contents..."
- ls -la
CodeConnections 接続の作成
やっていきます!
見つけ出す
CodeConnectionsという名前はついているんですが、コンソールから検索で直遷移できませんでした。
CodeXXXを適当に開き、サイドメニューの「接続」から作成画面へ移動します。
「接続を作成」をクリックします
必要な設定を行い、githubと連携する
今回はGitHubと接続するので、GitHubを選択します。
また、アプリ名も適当に入力します。
オッケーなので「GitHubに接続する」をクリックします。
AWSからのアクセスを許可する
認可画面っぽいものが表示されます。
GitからAWSに認証情報やファイルへのアクセスを許可しますか?という雰囲気のことが聞かれています。
もちろん歓迎なので、「Authorize AWS Connector for GitHub」をクリックします。
認可すると、AWSの画面に再度戻ってきます。
botをインストールする
オプショナルな設定として、GitHub Appを利用して、AWSからGitHubへの通信を、ユーザーとしてではなく、botとして行う設定が可能です。
GitHubユーザーとしてAWSからGitHubへ通信させると、リポジトリ全てを参照できたり、不都合が多いです。
botを設定して、適切な読み取り範囲を設定しましょう。
「新しいアプリをインストールする」をクリックします。
再度GitHubに遷移します。
読み取り範囲を選択できる画面ですね。
「Only select repositories」ラジオをクリックし、読み取り範囲を選択します。
作成したprivateリポジトリのみを指定し、AWS側から読み取ることができるリポジトリを限定します。
「Install & Authorize」を作成し、Appをインストールします。
CodeConnections接続を作成する
再度AWSに遷移するので、「接続」をクリックします。
作成が完了しました!!!
参考:InstallしたアプリはGit側で確認できます
https://github.com/settings/profileに遷移し、
Integrations > Applications から確認できます。
適当なCodepipelineとCodebuildを用意
CodepipelineとCodebuildを用意していきます。
この記事の本筋ではないので、重要じゃない部分は適当です。
Codepipeline本体を設定
やっていきます
名前と実行モードを選択します。
名前は適当。V2である必要は特にないので、V1を選択します。
他はデフォルトで次に進みます。
ソースステージを設定
ソースステージです。ここで先ほど作成したCodeConnectionsを使います!!!!
接続から、作成したCodeConnections接続を指定します。
その後、リポジトリ名と参照するブランチを選択します。
ブランチの選択肢が、bot作成時に指定したものに限定されていることが分かります。
ブランチ、リポジトリを選択しました。
今回はテストなので、pushなどの変更をトリガー設定する箇所はスキップします
「次に」をクリックしビルドステージを設定していきます。
ビルドステージを設定
CodeBuildを利用します。
CodeBuildを選択します。
適当に作ります。
名前を設定します。
buildspec.ymlを読むよう指定します。
他はデフォルトで作成します。
ビルドプロジェクトが作成されたことを確認し、次へ進みます。
デプロイステージを設定
デプロイステージはスキップします。
pipelineを作成
設定を再度確認し、問題がなければpipelineを作成します。
設定できたので、pipelineを作成します!!!!
pipelineが作成されました。
動作を確認する
初回時にリリースが走るので、結果を確認します。
とりあえずなんか成功しました!!!!
いろいろ見て見ましょう。
まずはSourceステージです。
しっかりGitHubからリポジトリが連携できてますね。
つづいてBuildステージも見ます。
buldspec.ymlが動いていそうです。おっけー
おわりに
CodeCommitがサ終するのはビックリしましたが、移行は楽そうですね。よかった。