NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

VSTSでAWSが使える!S3へのアップロードを試してみる(実践編)

こんにちは。今はAWSのre:invent@Las Vegasに参加している松永です。
 
さて、前回から遅くなりましたが、
 
VSTSでAWSが使える!S3へのアップロードを試してみるの後半戦、実践編です。
 
前回(VSTSでAWSが使える!S3へのアップロードを試してみる(下準備編))で必要なアカウント、セキュリティは設定しました。
 
今回ではVSTSで実際にS3へのアップロードを行います。
 

f:id:nextscape_blog:20210911003558p:plain

 

Build手順を追加する

 
さて前回では「AWSToolTest」というものを作成しました。
 
では、このプロジェクトのソースコードをS3へアップロードしてみようと思います。
 

まずは、VSTSにログインして、AWSToolTestを選択します。

メニュー>Buid and Release >Buildを選択します。

f:id:nextscape_blog:20210911003614p:plain

 

Build Definitionsのページの右にあるNewをクリックしましょう。
 
すると、テンプレート選択画面が出てきます。
 

ここでは、予め定義されたBuild手順がテンプレートとして用意されています。

もし、一から作りたい人はEmpty processを選択しましょう。

f:id:nextscape_blog:20210911003640p:plain

設定したBuidのトリガーはリポジトリへのコミット時になります。
 
今回はS3へのアップロードの確認が目的のため、ソースは何でも構いません。

とりあえず私は、ASP.NET Coreのテンプレートを選択しました。
 
選択してApplyをクリックします。
 

するとTaskの詳細ページが表示されます。

f:id:nextscape_blog:20210911003659p:plain

 
最初、ProcessのAgent Queueエラーが出ていますが、これはリストから適切なものを選択すれば問題ありません。
 
今回私はVisual Studio 2017からHostするので、Host VS2017を選択しました。
 
ちなみにトリガーとなるリポジトリへのコミットですが、Get Sourceを選択するとわかりますが、
 
VSTSのgitリポジトリ以外に、GitHub、Bitbuket、はたまたSubversionと、主要なリポジトリをカバーしています。
 

f:id:nextscape_blog:20210911003726p:plain

 
では、Phase1のとなりにある+ボタンを押してみましょう。
 
ここでタスクを追加することできます。
 

では、検索欄に「aws」と選択してみましょうか。

するとAWSの連携タスクがでてきます。
 
VSTSにAWSのサービスロゴが輝きますね。
 
もしタスクがでてこない場合にはインストールに失敗している可能性があります。
 
AWS Tools for Visual Studio Team Servicesをもう一度インストールしてみましょう。
 

f:id:nextscape_blog:20210911003753p:plain

 

AWSのタスクを追加する。

 
ではこのAWSのタスクの中から「AWS S3 Upload」を追加してみます。
 
タスクを選択して右横のAddボタンを押してください。
 
すると左の一覧にタスクが追加されます。
 
そして今度は設定を行います。
 
追加したタスクを選択すると右側に設定情報が出てきます。
 

赤くなっているところを埋めていきましょう。

f:id:nextscape_blog:20210911003830p:plain

 
AWS Credential:認証情報を指定します。
 
右のNewボタンを押すと、認証情報を入力する画面が出てきます。
 
Connection Nameには適当な名前を入れます。私は「AWSToolTest」としました。
 
そして、Access Key IDとSecret Access Key には前回IAMで作成したVSTS_userのキーを使います。

メモをしたのはこのためです。

f:id:nextscape_blog:20210911003848p:plain

 
AWS Region:S3を作ったリージョンを指定します。この時にはAWS CLIで使うようなリージョンコードを指定します。
 
東京リージョンの場合は、「ap-northeast-1」です。
 
Buket Name:S3で作ったソースを格納したいバケットを指定します。
 
今回は「vststest」を作ったのでそれを指定します。
 
これでVSTSの設定は完了です。
 

f:id:nextscape_blog:20210911003909p:plain

 

Visual Studioからコミットしてビルドを実行する。

 
では、コードをビルドしましょう。
 
今回はVS2017で適当なソースを作ります。
 
まずVSを開いてファイル>新規作成>プロジェクトを選択します。
 
そうしたらVisual C#のWebからASP.NET Core Web アプリケーションを選択します。
 
ここでは「AWSWebTest」という名前を選択しました。
 

f:id:nextscape_blog:20210911003925p:plain

 
今回はコミットが目的なので、そのままビルドを一旦します。
 
次にVSTSのリポジトリをVisual Studioで使えるように設定します。

詳しい方法などは以下のサイトをご参考ください。

Visual Studio 2017でGitリモートリポジトリの登録とpushまでの流れ
 

それではさっそくコミットしてみましょう。

まずは適当なファイルを更新し、ローカルリポジトリにコミットします。

f:id:nextscape_blog:20210911003953p:plain


コミットしたら同期ボタンを選択し、プッシュします。

正常にプッシュされれば表示がされます。

f:id:nextscape_blog:20210911004010p:plain

f:id:nextscape_blog:20210911004032p:plain

さてリモートにコミットがされたという事は、VSTSのビルドが動いているといことです。

見てみましょう。

動いているものはタスク一覧から出てきます。成功したらStatusがSucceedに変わります。

f:id:nextscape_blog:20210911004054p:plain

f:id:nextscape_blog:20210911004113p:plain



それではS3はどうなっているでしょうか。

f:id:nextscape_blog:20210911004138p:plain

 

vststestのバケットにきちんとソースがアップロードされました!!!!

 

最後に

 

駆け足でお伝えしました、VSTSでのS3の連携。

VSTSはアジャイル、スクラム、そしてDevOpsを進めていくうえで、非常に強力なツールだと思います。

その為、AWSであろうがAzureであろうが使えるというのはありがたいことです。

このAWS Toolのリリースにより、開発方法のパターンがまた一つ増えたことは開発者にとって喜ばしいことではないでしょうか。