こんにちは。今はAWSのre:invent@Las Vegasに参加している松永です。
さて、前回から遅くなりましたが、
VSTSでAWSが使える!S3へのアップロードを試してみるの後半戦、実践編です。
前回(VSTSでAWSが使える!S3へのアップロードを試してみる(下準備編))で必要なアカウント、セキュリティは設定しました。
今回ではVSTSで実際にS3へのアップロードを行います。
Build手順を追加する
さて前回では「AWSToolTest」というものを作成しました。
では、このプロジェクトのソースコードをS3へアップロードしてみようと思います。
まずは、VSTSにログインして、AWSToolTestを選択します。
メニュー>Buid and Release >Buildを選択します。
Build Definitionsのページの右にあるNewをクリックしましょう。
すると、テンプレート選択画面が出てきます。
ここでは、予め定義されたBuild手順がテンプレートとして用意されています。
もし、一から作りたい人はEmpty processを選択しましょう。
設定したBuidのトリガーはリポジトリへのコミット時になります。
今回はS3へのアップロードの確認が目的のため、ソースは何でも構いません。
とりあえず私は、ASP.NET Coreのテンプレートを選択しました。
とりあえず私は、ASP.NET Coreのテンプレートを選択しました。
選択してApplyをクリックします。
するとTaskの詳細ページが表示されます。
最初、ProcessのAgent Queueエラーが出ていますが、これはリストから適切なものを選択すれば問題ありません。
今回私はVisual Studio 2017からHostするので、Host VS2017を選択しました。
ちなみにトリガーとなるリポジトリへのコミットですが、Get Sourceを選択するとわかりますが、
VSTSのgitリポジトリ以外に、GitHub、Bitbuket、はたまたSubversionと、主要なリポジトリをカバーしています。
では、Phase1のとなりにある+ボタンを押してみましょう。
ここでタスクを追加することできます。
では、検索欄に「aws」と選択してみましょうか。
するとAWSの連携タスクがでてきます。
VSTSにAWSのサービスロゴが輝きますね。
もしタスクがでてこない場合にはインストールに失敗している可能性があります。
AWS Tools for Visual Studio Team Servicesをもう一度インストールしてみましょう。
AWSのタスクを追加する。
ではこのAWSのタスクの中から「AWS S3 Upload」を追加してみます。
タスクを選択して右横のAddボタンを押してください。
すると左の一覧にタスクが追加されます。
そして今度は設定を行います。
追加したタスクを選択すると右側に設定情報が出てきます。
赤くなっているところを埋めていきましょう。
AWS Credential:認証情報を指定します。
右のNewボタンを押すと、認証情報を入力する画面が出てきます。
Connection Nameには適当な名前を入れます。私は「AWSToolTest」としました。
そして、Access Key IDとSecret Access Key には前回IAMで作成したVSTS_userのキーを使います。
メモをしたのはこのためです。
AWS Region:S3を作ったリージョンを指定します。この時にはAWS CLIで使うようなリージョンコードを指定します。
東京リージョンの場合は、「ap-northeast-1」です。
Buket Name:S3で作ったソースを格納したいバケットを指定します。
今回は「vststest」を作ったのでそれを指定します。
これでVSTSの設定は完了です。
Visual Studioからコミットしてビルドを実行する。
では、コードをビルドしましょう。
今回はVS2017で適当なソースを作ります。
まずVSを開いてファイル>新規作成>プロジェクトを選択します。
そうしたらVisual C#のWebからASP.NET Core Web アプリケーションを選択します。
ここでは「AWSWebTest」という名前を選択しました。
今回はコミットが目的なので、そのままビルドを一旦します。
次にVSTSのリポジトリをVisual Studioで使えるように設定します。
詳しい方法などは以下のサイトをご参考ください。
Visual Studio 2017でGitリモートリポジトリの登録とpushまでの流れ
詳しい方法などは以下のサイトをご参考ください。
Visual Studio 2017でGitリモートリポジトリの登録とpushまでの流れ
それではさっそくコミットしてみましょう。
まずは適当なファイルを更新し、ローカルリポジトリにコミットします。
コミットしたら同期ボタンを選択し、プッシュします。
正常にプッシュされれば表示がされます。
さてリモートにコミットがされたという事は、VSTSのビルドが動いているといことです。
見てみましょう。
動いているものはタスク一覧から出てきます。成功したらStatusがSucceedに変わります。
それではS3はどうなっているでしょうか。
vststestのバケットにきちんとソースがアップロードされました!!!!
最後に
駆け足でお伝えしました、VSTSでのS3の連携。
VSTSはアジャイル、スクラム、そしてDevOpsを進めていくうえで、非常に強力なツールだと思います。
その為、AWSであろうがAzureであろうが使えるというのはありがたいことです。
このAWS Toolのリリースにより、開発方法のパターンがまた一つ増えたことは開発者にとって喜ばしいことではないでしょうか。