【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy を利用した CI/CD 環境の構築と導入手順を解説します。

 

前回、AWSのCI/CD環境の構築手順の解説をしましたが、今回は Spring Tools を利用しています。

 

【AWS】DevOps(CI/CD)の導入手順(CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

構成

今回は以下の構成で Ci/CD 環境を構築しています。

  • 開発 ← Spring Tools 4
  • ソースコード管理 ← AWS CodeCommit
  • ビルド ← AWS CodeBuild
  • デプロイ ← AWS CodeDeploy
  • パイプライン ← AWS CodePipeline

 

Spring Tools 4

Spring Tools 4 をインストールして環境を設定し簡単な Java のプログラムを作ります。

 

Spring Tools 4 のインストール

まずは Spring Tools 4 をインストールします。

以下の URL に移動します。

 

https://spring.io/tools

 

Spring Tools 4 for Eclipse の「4.xx.xx -WINDOWS X86_4」のボタンをクリックしパッケージをダウンロードします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

下図のように jar ファイルがダウンロードされるので解凍ソフトで解凍します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

更に contents.zip も解凍します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

解凍してできた「sts-4.11.1.RELEASE」フォルダを C: 直下に移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

C: 直下に移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

以上でインストールは完了です。

 

Spring Tools 4の起動

「sts-4.11.1.RELEASE」配下の「SpringToolSuite4.exe」をダブルクリックして起動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

workspace フォルダを指定して「Launch」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

Spring Tools 4 が起動することを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

サンプル Java プログラムの作成

サンプルの簡単な Java プログラムを作成します。

このプログラムは Tomcat8 で動かします。

 

 

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

メニューより「File」‐「New」‐「Spring Starter Project」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

下図のように設定をして「Next」ボタンをクリックします。

  • Packaging ← War
  • Java Version ← 8

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

どれがどの機能を提供するのか不明なので、とりあえず Web 配下を全部チェック入れています。

設定が終わったら「Next」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「Finish」ボタンをクリックしてプロジェクトを作成します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

新規 Class ファイルを作成します。

プロジェクトより「com.example.demo(例)」を右クリックして「New」‐「Class」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

Nameに任意の名前「HelloWorldController(例)」と入力し「Finish」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

HelloWorldController.java の Class ファイルが作成されていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

以下のように簡単なプログラムを作成します。

package com.example.demo; 
 
import org.springframework.web.bind.annotation.GetMapping; 
import org.springframework.web.bind.annotation.RestController; 
 
@RestController 
public class HelloWorld { 
     
    @GetMapping(“/hello”) 
    public String sayHello() { 
        return “Hello World Java in CI/DC - v1”; 
    } 
 

 

 

 

 

以下のようにプログラムを作成して保存します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

起動確認

ここで Java プログラムが起動することを確認します。

 

下のタブより「Boot Dashboard」を選択します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

対象のプロジェクトを選択して右クリックし「(Re)start」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

エラーなく起動することを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

ブラウザを起動してアドレス欄に「http://localhost/hello」と入力し下図のようにメッセージが表示されることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

以上で Spring Tools 4 の設定が完了しました。

 

 

Git リポジトリを作成する

次に Git リポジトリを作成します。

 

メニューより「Window」‐「Perspective」‐「Open Perspective」‐「Oter」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「Git」を選択して「Open」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

まだ何もGit Repository がない状態です。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

一旦 Java の画面に戻ります。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

プロジェクトを選択して右クリックし「Team」‐「Share Project」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「Use or create repository in parent folder of project」にチェックを入れてフォルダを選択し「Create Repository」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「Finish」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

gitの画面に移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

Local フォルダができていますが、まだ何も入っていません。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

「Git Staging」タブをクリックし「Unstaged Changes」の全部のファイルを選択し、下の「Staged Changes」にドラッグ&ドロップします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「Staged Changes」にファイルが移動したところを確認し Commit Message に「First Commit」と入力し「Commit」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

master ブランチが作成されていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

Git Repositoryの動作確認

Git Repository の動作確認をします。

 

Java のソースコードを更新してファイルを保存します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

修正したソースコードを保存して「Git Staging」タブに移動すると以下のようにファイルが表示されているので下の「Staged Changes」にドラッグ&ドロップします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

「Staged Changes」にファイルをドラッグ&ドロップし、Commit Message にコメントを記入して「Commit」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「Boot Dashboard」タブをクリックしてプロジェクトを選択して右クリックし「(Re)start」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

プログラムが更新されていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

以上で Spring Tools 4 側の設定は完了です。

 

 

 

AWS CodeCommit

Spring Tools 4 側の設定が完了したら AWS の CodeCommit の設定をします、

 

CodeCommit レポジトリの作成

まずは CodeCommit レポジトリの作成をします。

 

 

CodeCommit のダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

左側ペインより「リポジトリ」をクリックして「リポジトリを作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「リポジトリ名」を設定し「作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

CodeCommit リポジトリへアクセスするための IAM ユーザの作成

次に CodeCommit リポジトリへアクセスするための IAM ユーザの作成をします。

AWS CodeCommit リポジトリへアクセスするための権限も必要になります。

 

IAM ダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

左側ペインより「ユーザー」をクリックして「ユーザーを追加」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「ユーザー名」と「アクセスの種類」を「プログラムによるアクセス」にチェックを入れて「次のステップ:アクセス権限」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「ユーザーを追加」画面で「既存のポリシーを直接アタッチ」を選択し「AWSCodeCommitFullAccess」を選択し「次のステップ:タグ」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

タグの追加(オプション)でそのまま「次のステップ:確認」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

 

 

「確認」画面で設定を確認し「ユーザーの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「.csv のダウンロード」ボタンをクリックして保存します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

作成した IAM ユーザーをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「認証情報」タグをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「AWS CodeCommit の HTTPS Git 認証情報」で「認証情報を生成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「認証情報を作成」画面で「証明書のダウンロード」ボタンをクリックして保存します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

CodeCommit で作成したリポジトリ(例では demo)に移動し「接続のステップ」で「HTTPS」タブをクリックしてリポジトリのクローンを作成するコマンドの「コピー」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

Spring Tools 4 の Java の画面に移動しプロジェクトを選択して右クリックし「Team」‐「Remote」‐「Push」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「Destination Git Repository」画面で URI を選択してペーストをして情報を入力します。入力したら「Next」ボタンをクリックします。 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「Source ref:」と「Destination ref:」に「master」ブランチを選択し「Add Spec」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

下図のように追加されたことを確認し「Next」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「Finish」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

AWS CodeCommit のレポジトリに Push された画面が表示されるので「Close」ボタンをクリックします。 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

AWS CodeCommit のレポジトリに Push されたことを確認

AWS CodeCommit のレポジトリに Push されたことを確認します。

 

CodeCommit のダッシュボードに移動し、左側ペインより「リポジトリ」をクリックし、対象のリポジトリに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

ローカルのリポジトリが AWS CodeCommit のリポジトリに Push されていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

動作確認

再度ソースコードを更新してコミットとプッシュをします。

 

ソースコードを更新したら、ファイルを「Staged Cheges」エリアに持ってきて、Commit Message を記載して「Commit and Push」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

以下の「Destination Git Repository」画面が表示されることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

AWS CodeCommit の対象のリポジトリに移動して対象のリポジトリの「HTTPS」をクリックしてコピーします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

URI を選択してペーストすると下図のように情報を入力されるので「Preview」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「Preview」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「Push」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

AWS CodeCommit への Push が完了した画面が表示されることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

下図のようにソースコードの更新が反映されていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

もう1つブランチを作成する

ここで master ブランチの他にもう1つブランチを作成します。

 

CodeCommit のダッシュボードに移動して対象のリポジトリを選択し、左側ペインより「ブランチ」をクリックし「ブランチの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「ブランチの作成」画面で「ブランチ名」と「ブランチ元」を入力し「ブランチの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

下図のようにブランチが2つできていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

ブランチを使った動作確認

作成したブランチを使った動作確認をします。

 

再度ソースコードを改修して「Commit and Push」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

AWS CodeCommit のダッシュボードに移動し対象のリポジトリを選択し、左側ペインより「コミット」を選択し「コミットの比較」タブをクリックします。

ソースに「master」、ターゲットに作成したブランチを選択して比較ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

ソースコードの差分を確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

通知の設定

イベントが発生した際に SNSトピックを利用して通知をする設定もできます。

 

CodeCommitのダッシュボードの左側ペインより「設定」をクリックし「通知」タブをクリックし「通知ルールの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「通知ルールの設定」画面で通知名を設定し、「詳細タイプ」は「フル」を選択し「通知をトリガーするイベント」は「すべてを選択する」をクリックしてすべて選択します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

ターゲットで「ターゲットの作成」ボタンをクリックします。

※ここで既存のターゲットを選択することもできますが、エラーになることがあります。その場合は既存のターゲットを選択せずに新規でターゲットの作成をしてください。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

「ターゲットの作成」画面で以下のように設定して「作成」ボタンをクリックします。

  • ターゲットタイプ ← SNS トピック
  • トピック名 ← 自走的に作成されたトピック名

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

通知ルールが作成されたことを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

トピックが作成されたら SNS ダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

先ほど作成したトピックをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「サブスクリプションの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

「サブスクリプションの作成」画面で以下のように設定します。

  • トピックARN ← 先ほど作成したトピックを選択します。
  • プロトコル ← Eメールを選択します。
  • エンドポイント ← メールアドレス(xxxx@gmail.com等)を入力します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

次にトリガーを作成します。

 

「トリガー」タブをクリックして「トリガーの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「トリガーの作成」画面で以下のように設定します。

  • トリガー名 ← 任意の名前を設定します。
  • イベント ← すべてのリポジトリイベントを設定します。
  • ブランチ名 ← master を設定します。(10個までブランチを設定できます。)

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

「サービスの詳細」画面で以下のように設定して「トリガーの作成」ボタンをクリックします。

  • 使用するサービスの選択 ← Amazon SNS
  • SNSトピック ← 別途作成した SNS トピックを選択します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

トリガーが作成されたことを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

メール確認

実際に CodeCommit の処理を実行しメールが送信されることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

プルリクエストの作成

次にプルリクエストを作成します。

 

対象のリポジトリを選択し、左側ペインより「ブランチ」をクリックし「プルリクエストの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「プルリクエストの作成」画面で以下のように設定して「比較」ボタンをクリックします。

  • ソース ← master
  • ターゲット ← 作成したブランチ

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

タイトルを設定します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

「プルリクエストの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

プルリクエストが作成されたことを確認し、「変更」タグをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

変更内容を確認し問題がなければ「マージ」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「リクエストの詳細マージ」画面でマージ戦略をデフォルトの「早送りマージ」のままにして「プルリクエストのマージ」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

マージ済みになっていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

マージ結果の確認

マージ結果の確認をします。

 

「master」と作成したブランチのコミットが同じであることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

「コミットの比較」タブをクリックしソースとターゲットを設定しちがいがないことをかくにんしま

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

メールでも通知が来ていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

AWS CodeBuild

次は AWS CodeBuild に入ります。

CodeBuild はフルマネジメントサービスで、ソースコードのコンパイルや、単体テストの実行やデプロイ可能なアーティファクト(artifact)を提供します。

 

S3 バケットの作成

S3 バケットを作成します。

 

S3 のダッシュボードに移動しします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「バケットを作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

バケット名を設定します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

その他はデフォルトのままで「バケットを作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

次にビルドセットを保存するフォルダを作成します。

 

 

先ほど作成したバケットをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「フォルダの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

フォルダ名を設定して「フォルダの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

S3 のバージョニングを有効化する

S3 のバージョニングを有効化します。

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

CodeBuild の設定

CodeBuild のダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「ビルドプロジェクトを作成する」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「ビルドプロジェクトを作成する」画面で以下のように設定して下にスクロールします。

  • プロジェクト名 ← 任意の名前を付けます。
  • 説明 ← 任意の説明を記載します。
  • ビルドバッジ ← ビルドバッジを有効にするにチェックを入れます。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

以下のように設定して下にスクロールします。

  • ソースプロバイダ ← AWS CodeCommit を選択します。
  • リポジトリ ← 作成したリポジトリを選択します。
  • リファレンスタイプ ← ブランチにチェックを入れます。
  • ブランチ ← master を選択します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

追加設定で以下のように設定して下にスクロールします。

  • Git サブモジュール ← gitサブモジュールを有効にするにチェックを入れます。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

環境設定で以下のように設定して下にスクロールします。

  • 環境イメージ ← マネージド型イメージにチェックを入れます。
  • オペレーティングシステム ← Amazon Linux2 を選択します、
  • ランタイム ← Standard を選択します。
  • イメージ ← 一番最新のもの(一番数値が大きいもの)を選択します。
  • イメージのバージョン ← このランタイムバージョンには常に最新のイメージを使用してくださいを選択します。
  • 環境タイプ ← Linux を選択します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

以下のように設定して下にスクロールします。

  • サービスロール ← 新しいサービスロールにチェックを入れます。
  • ロール名 ← 自動的に入ります。
  • ビルド仕様 ← buildspec ファイルを使用するにチェックを入れます。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

バッチ設定はそのままの状態で下にスクロールします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

アーティファクトの設定で以下のように設定して下にスクロールします。

  • タイム ← Amazon S3 を選択します。
  • バケット名 ← S3 で作成したバケット名を入力します。
  • セマンティックバージョニングの有効化 ← チェックを入れます。
  • パス‐オプショナル ← S3 バケットの下に作成したフォルダ名を入力します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

以下のように設定して下にスクロールします。

  • アーティファクトのパッケージ化 ← Zip にチェックを入れます。
  • アーティファクト暗号化の解除 ← チェックを入れます。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

ログの設定で以下のように設定して「ビルドプロジェクトを作成する」ボタンをクリックします。

  • CloudWatch Logs ‐オプショナル ← チェックを入れます。
  • グループ名 ← 任意のグループ名を入力します。
  • ストリーム名 ← 任意のストリーム名を入力します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

ビルドプロジェクトが作成されたことを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

Maven install を実行する

ここで Maven clean と Maven install を実行します。

 

プロジェクトを右クリックし、「Run As」‐「Maven clean」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

下図のように「BUILD SUCCESS」が表示されていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

次に Maven install をやります。

プロジェクトを選択して右クリックし、「Run As」‐「Maven install」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

pom.xml ファイルの修正

次に pom.xml ファイルを修正します。

 

 

pom.xml ファイルをダブルクリックして開きます。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

■修正前

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

■修正後

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

ここまで進めたら再度上の手順の「Maven clean」と「Maven install」を実行します。

 

 

 

 

 

buildspec.yml ファイルを作成する

ここで buildspec.yml ファイルを作成します。

 

 

プロジェクトを選択して右クリックし、「New」‐「File」をクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

「Create New File」画面で「File name」を「buildspec.yml」として「Finish」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

以下のように buildspec.yml ファイルに追記します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

■buildspec.yml ファイル

version: 0.2 
 
phases: 
  install: 

    runtime-versions:
      java: corretto11
    commands: 
      – echo Nothing to do in the install phase… 
  pre_build: 
    commands: 
      – echo Nothing to do in the pre_build phase… 
  build: 
    commands: 
      – echo Build started on `date` 
      – mvn install 
  post_build: 
    commands: 
      – echo Build completed on `date` 
artifacts: 
  files: 
    – ‘target/demo.war’

 

 

 

 

 

 

「pom.xml」の修正と「buildspec.yml」ファイルが追加されたので保存して「Commit and Push」します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

ビルドを開始する

ここまで準備したら実際にビルドを開始します。

 

作成したビルドプロジェクトに移動し「ビルドを開始」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

ステータスが「成功」になっていることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

CloudWatch の設定

以下のページを参考に CodeBuild のビルド通知を設定します。

 

CodeBuild のビルド通知サンプル

https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/sample-build-notifications.html

 

ステートチェンジとフェーズチェンジの2つを作ります。

 

CloudWatchのダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

■ステートチェンジ

最初にステートチェンジのルールを作成します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

以下のページを参考にイベントパターンを設定します。

 

CodeBuild のビルド通知サンプル

https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/sample-build-notifications.html

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

■フェーズチェンジ

次にフェーズチェンジのルールを作成します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

以下のページを参考にイベントパターンを設定します。

 

CodeBuild のビルド通知サンプル

https://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/sample-build-notifications.html

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

最終的に以下のように2つのルールを作成しました。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

下図のようなメールが届きます。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

AWS CodeDeploy

次は AWS CodeDeploy について設定をしていきます。

プラットフォームは EC2、AutoScalling や ELB だけでなく、データセンターのオンプレも可能です。

ソースは S3 や GitHub が可能です。

 

 

CodeDeploy 用サービスロールの作成

IAM のダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

EC2 インスタンスへの割り当て用の IAM ロールのポリシーの作成

次に EC2 インスタンスに割り当てる IAM ロールのポリシーを作成します。

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

EC2 インスタンスへの割り当て用の IAM ロールの作成

次にロールを作成します。

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

EC2 インスタンスの作成

次にデプロイ先となる EC2 インスタンスを構築します。

ここでは Tomcat8 の関係で Amazon Linux を構築します。

 

EC2のダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

■ユーザデータ

#!/bin/bash 
sudo yum update 
sudo yum install ruby 
sudo yum install wget 
sudo yum -y erase java-1.7.0-openjdk.x86_64 
sudo yum -y install java-1.8.0-openjdk.x86_64 
sudo yum -y install java-1.8.0-openjdk-devel 
sudo yum -y install tomcat8 
cd /home/ec2-user 
wget https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install 
chmod +x ./install 
sudo ./install auto 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

■tomcat8の起動確認

[ec2-user@ip-172-31-1-231 ~]$ sudo service codedeploy-agent status 
The AWS CodeDeploy agent is running as PID 2910 

 

[ec2-user@ip-172-31-1-231 ~]$ sudo java -version 
openjdk version “1.8.0_302” 
OpenJDK Runtime Environment (build 1.8.0_302-b08) 
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode) 

 

[ec2-user@ip-172-31-1-231 ~]$ sudo service tomcat8 status 
tomcat8 is stopped 

 

[ec2-user@ip-172-31-1-231 ~]$ sudo service tomcat8 start 
[ec2-user@ip-172-31-1-231 ~]$                              [  OK  ]

 

[ec2-user@ip-172-31-1-231 ~]$ sudo service tomcat8 status

[ec2-user@ip-172-31-1-231 ~]$                              [  OK  ]

 

 

 

■tomcat8の動作確認

[ec2-user@ip-172-31-1-231 ~]$ ps -ef | grep java 
tomcat    9040     1  0 04:47 ?        00:00:02 /usr/lib/jvm/jre/bin/java -classpath :/usr/share/tomcat8/bin/bootstrap.jar:/usr/share/tomcat8/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat8 -Dcatalina.home=/usr/share/tomcat8 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat8/temp -Djav .util.logging.config.file=/usr/share/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start 
ec2-user  9163  3020  0 05:03 pts/0    00:00:00 grep –color=auto java 

 

[ec2-user@ip-172-31-1-231 ~]$ cd /usr/share/tomcat8/ 

 

[ec2-user@ip-172-31-1-231 tomcat8]$ ls 
bin  conf  lib  logs  temp  webapps  work 

 

[ec2-user@ip-172-31-1-231 tomcat8]$ cd webapps/ 

 

[ec2-user@ip-172-31-1-231 webapps]$ ls 
[ec2-user@ip-172-31-1-231 webapps]$

 

 

 

 

■tomcat8の動作確認

[ec2-user@ip-172-31-1-231 webapps]$ pwd 
/usr/share/tomcat8/webapps

 

[ec2-user@ip-172-31-1-231 webapps]$ sudo mkdir ROOT 

 

[ec2-user@ip-172-31-1-231 webapps]$ cd ROOT

 

[ec2-user@ip-172-31-1-231 ROOT]$ sudo vi index.html 
tomcat test 

 

 

 

 

ブラウザを起動し、下図のように「http://パブリックIP:8080」で表示されることを確認します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

アプリケーションの作成

CodeDeployのダッシュボードに移動します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

デプロイメントグループの作成

先ほど作成したアプリケーションのデプロイグループを作成します。

 

対象のアプリケーションをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

「トリガーの作成」ボタンをクリックすると別画面が起動するので下図のように設定をします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

インスタンスのトリガーはブルー/グリーンで利用します。今回はブルー/グリーンは使用しないので選択しません。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

appspec.ymlファイルの作成

以下のように appspec.yml ファイルを作成します。

 

■appspec.yml ファイル

 
version: 0.0 
os: linux 
files: 
  – source: target/demo.war 
    destination: /usr/share/tomcat8/webapps/ 
hooks: 
  BeforeInstall: 
    – location: scripts/before_install.sh 
      timeout: 300 
      runas: root 
  AfterInstall: 
    – location: scripts/after_install.sh 
      timeout: 300 
      runas: root 
  ApplicationStart: 
    – location: scripts/start_server.sh 
      timeout: 300 
      runas: root 
  ApplicationStop: 
    – location: scripts/stop_server.sh 
      timeout: 300 
      runas: root 
 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

次に scripts フォルダを作成します。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

デプロイメントの実行

準備ができたらデプロイを実行します。

「デプロイの作成」ボタンをクリックします。

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

AWS CodePipeline

最後に CodePipeline の設定をします。

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

 

 

 

 

 

 

 

【AWS】DevOps(CI/CD)の導入手順(Spring Tools、Git、CodePipeline、CodeCommit、CodeBuild、CodeDeploy)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください