LoginSignup
11
7

More than 5 years have passed since last update.

AWS CodeStar と Cloud9 の連携

Posted at

はじめに

AWS CodeStar がついに東京リージョンにやってきました!
https://aws.amazon.com/jp/about-aws/whats-new/2017/12/aws-codestar-is-now-available-in-asia-pacific-tokyo-and-canada-central-regions/

早速CodeStarとCloud9の連携を試すぞ!と思ったのですが、よくよく考えればCloud9が東京リージョンに来ていませんでした。
今回はシンガポールリージョンで検証した内容でお伝えします。。。

CodeStar プロジェクトの作成

プロジェクトのテンプレートを選択します。
ここではNode.js(AWS Lambda)を選択します。

image.png

CodeStartのプロジェクト名を入力します。
リポジトリにはCode Commitを使用します。リポジトリ名にはプロジェクト名が反映されています。

image.png

プロジェクトを作成します。

image.png

表示名、メールアドレスを入力してIAMユーザに紐づくCodeStarユーザを作成します。

image.png

コードの編集方法の選択で、AWS Cloud9を選択します。
2017年12月時点では東京リージョンではCloud9がGAしていないため、選択肢として表示されません

image.png

Cloud9 のインスタンスも CodeStarのプロジェクト作成の中で出来ます!
今回はすべてデフォルトの設定で作成しました。

image.png

Cloud9のセットアップが完了するまでしばらく待ちます。
またCodeStarによって自動的にPipelineの作成まで行われており、CodeCommitへのInitial commitによって
サンプルアプリケーションがデプロイされています。
image.png

アプリケーションのエンドポイントにアクセスするとサンプルページが表示されました。
image.png

Cloud9 での作業

コーディングの開始を選択すると アプリケーションコードが既にチェックアウトされ、gitのクレデンシャルも
設定された状態でCloud9が立ち上がります。楽ちん!

image.png

Cloud9のコンソール上で git config しておきます

$ git config --global user.name YOUR_USER_NAME
$ git config --global user.email YOUR_EMAIL_ADDRESS

サンプルのindex.htmlを編集して、変更を反映させてみたいと思います。

public/index.html
        <div class="message">
            <a class="twitter-link" href="http://twitter.com/home/?status=I%20created%20a%20project%20with%20AWS%20CodeStar!%20%23AWS%20%23AWSCodeStar%20https%3A%2F%2Faws.amazon.com%2Fcodestar"><img src="assets/img/tweet.svg" /></a>
            <div class="text">
                <h1>Congratulations!</h1>
                <h2>You just created a Node.js web application</h2>
                <h2>AWS CodeStar と Cloud9 の連携</h2> ★追記
            </div>
        </div>

ファンクションやAPI Gatewayの設定は変更していませんが、ローカルで実行してみます。

image.png

当然ですが、変更内容が反映され正常終了しました。

image.png

変更内容をCodeCommitに反映します。
コンソール上のgit操作です。

$ cd codestar-test
$ git add .
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   .gitignore
        modified:   public/index.html
$ git commit -m "編集テスト"
$ git push

※ローカル実行時に lambda-payloads.json が作成されるので、.gitignore に追加しています

CodeCommitへのプッシュを契機にPipelineが起動しました。

image.png

デプロイ(CloudFormationスタックの更新)が完了すると、修正内容が反映されていることを確認できました。

image.png

さいごに

今回 Lambda + API Gateway の環境で検証しましたが、CodeStar と Cloud9の連携により、
プロジェクトの作成、コーディング、テスト、継続的デプロイがここまで簡単に行えることに感動しました。
Cloud9 の東京リージョン登場が待ち遠しい。。
参考になれば幸いです。

11
7
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
11
7