aws codebuild tutorial
AWS CodeBuild DevOpsツール:
PC用の最高のmp3音楽ダウンローダー
に AWSDevOpsツールのパート1 、私たちはどのように見ました CodeCommitサービス DevOps実装の前提条件である安全なオンラインバージョン管理サービスにソースコードを保存するために使用されました。
に シリーズのパート2 、CodeBuildサービスとANTまたはMavenビルドユーティリティを使用して、CodeCommitリポジトリのコードをクラウド上でコンパイルする方法について詳しく学習します。
推奨読書=> 絶対DevOpsトレーニングシリーズ
最も重要なことは、ビルドサーバーを提供する必要がないことです。生成されたアーティファクトは、インターネット上の任意の量のデータを保存および取得するためのシンプルなストレージサービスであるAWSS3バケットに保存されます。両方のチュートリアルのこれら2つのアクティビティは、継続的インテグレーションの一部を形成します。
このチュートリアルでは、JenkinsをCodeBuildと統合する方法についても説明します。
前提条件:
- AWSのアカウント、できれば無料利用枠。
- 良好で高速なインターネット接続。
- 使用したAWSリージョン–アジアパシフィック(シンガポール)。
注意: CodeCommitサービスにAWSリージョン(ムンバイ)を使用したことがある場合、このリージョンはCodeBuildではサポートされていません。サポートされている適切なリージョンを使用する必要があるため、ここではシンガポールリージョンが使用されます。
学習内容:
CodeBuildでのビルドプロセス
以下は、CodeBuildサービスの使用中にビルドで実行されるプロセスです。
- ソースコードはCodeCommitリポジトリからフェッチされます。ソースコードは、GitHubまたはS3バケットに保存することもできます。
- CodeBuildサービスは、というファイルに依存しています buildspec.yml これには、インストール、ビルド前、ビルド、ビルド後などのビルドフェーズ中に実行するいくつかのコマンドが含まれています。このファイルは、プロジェクトフォルダーのルートにあり、リポジトリにコミットされている必要があります。
- 使用したくない場合は buildspec.yml ビルドを実行するには、Mavenコマンドを直接使用することもできます。
- 最後に、J2EE JAR / WAR / EARファイルなどの生成されたアーティファクトはS3バケットに保存されます。
- AWS Simple Notification Service(SNS)を使用した通知は、ビルド結果を関連するユーザーに電子メールで送信するように設定することもできます。
ここでは、CodeCommitリポジトリ(パート1を参照)とmavenコマンドを使用してプロジェクトをビルドし、アーティファクトをS3バケットに保存する方法を説明します。
ビルドプロジェクトの作成
AWSにログインし、CodeBuildサービスを起動します。クリックして、新しいビルドプロジェクトを作成します。
次のように詳細を入力します。
プロジェクト名: AWS-HelloWorld
ソースプロバイダー: AWS CodeCommit
リポジトリ: AWS-HelloWorld
オペレーティング・システム: Ubuntu
ランタイム: Java
ランタイムバージョン: openjdk-8
ビルド仕様: ビルドコマンドを挿入する
ビルドコマンド: mvnクリーンインストール
出力ファイル: Target / AWS-HelloWorld-1.0.0.war(これは、POMファイルから取得したアーティファクトIDバージョンの形式です)。
アーティファクト: このビルドプロジェクトからのアーティファクトを配置する場所。
タイプ: アマゾンS3
名前: HWJavaWebTarget(これはバケット内のフォルダーになります)。
バケット名: hwcodebuildbucket(バケットは、ビルドを実行する前に最初に作成する必要があり、規則に従って小文字にする必要があります)。
次の3つのスクリーンショットは、ビルドプロジェクトを構成するための1つのフォームからのものです。
企業で尋ねられるセレンインタビューの質問
クリック 続行してから保存します。 これで、をクリックしてビルドをトリガーできます。 ビルドを開始 ボタン。
もう一度クリックします ビルドを開始 実行の進行状況を表示します。
これでビルドが正常に完了し、アーティファクトがS3バケットにアップロードされます。
サイバーセキュリティ会社はいくつありますか
S3バケットのビュー
これで、WARファイルを使用して適切なアプリケーションサーバーに展開できます。
JenkinsとAWSCodeBuildの統合
このシリーズのチュートリアル#1で見たように、継続的インテグレーションアクティビティを有効にするためにJenkinsがCodeCommitリポジトリでどのように構成されたかについて説明しました。バージョン管理リポジトリが構成されているので、CodeBuildを同じJenkinsビルドジョブと統合することでビルドをトリガーできるようになりました。
統合するには、JenkinsへのAWSCodeBuildプラグインをインストールする必要があります。あなたはそれをダウンロードしてインストールすることができます ここに 。
Jenkins =>プラグインの管理を使用して、プラグインをインストールします。
ビルド環境としてAWSCodeBuildを選択し、以下に示すようにAWSで構成された適切なCodeBuildプロジェクトを選択します。 IAMユーザーのアクセスキーとシークレットキーも、構成の一部として入力する必要があります。
ここで覚えておく必要がある重要な点は、ビルドはオンプレミス環境ではトリガーされておらず、クラウドで実行されているということです。したがって、ビルドサーバーをプロビジョニングする必要はありません。
概要
このチュートリアルを通じて、CodeCommitリポジトリを使用してコードをプルし、CodeBuildサービスを使用してMavenビルドを実行する方法を理解しました。
ビルドはJenkinsによってもトリガーできます。生成されたアーティファクト(主にWARファイル)は、AWSS3バケットに保存されます。
次のチュートリアルでは、S3バケットのWARファイルを使用して、AWSCodeDeployサービスを使用してTomcatアプリケーションサーバーをデプロイする方法を説明します。
推奨読書
- 初心者向けの詳細なEclipseチュートリアル
- Selenium用のMavenビルド自動化ツールとMavenプロジェクトセットアップの使用-Seleniumチュートリアル#24
- SVNチュートリアル:Subversionを使用したソースコード管理
- Tortoise SVNチュートリアル:コードリポジトリの改訂
- クラウドの構築とデプロイのためのトップAWSDevOpsツール
- .NETWebアプリケーションをデプロイするためのAWSElasticBeanstalkチュートリアル
- クラウドでのDevOps実装のためのAWSCodeCommitチュートリアル
- AngularJSを使用してシングルページアプリケーションを構築する(チュートリアルと例)