メニュー
AWS CodeBuild
ユーザーガイド (API バージョン 2016-10-06)

AWS CodeBuild の Ruby Hello World サンプル

この Ruby サンプルテストでは、コードの内部変数が Hello, world! という文字列を含んでいるかをテストします。これにより、ビルド出力として HelloWorld.rb という名前の 1 つのファイルが生成されます。

重要

このサンプルを実行すると、AWS アカウントに課金される場合があります。これには、AWS CodeBuild および Amazon S3、AWS KMS、CloudWatch Logs に関連する AWS リソースおよびアクションの料金が含まれます。詳細については、「AWS CodeBuild 料金表」、「Amazon S3 料金表」、「AWS Key Management Service 料金表」、「Amazon CloudWatch 料金表」を参照してください。

注記

AWS Cloud9 を使用して、このトピックのコードを操作できることをご存知でしょうか。AWS Cloud9 は、インターネットに接続したマシンからブラウザを使用するだけで、コードの記述、実行、デバッグ、デプロイに使用できるクラウドベースの統合開発環境 (IDE) です。AWS Cloud9 には、コードエディタ、デバッガー、ターミナル、および AWS CLI や Git などの主要ツールが含まれています。多くの場合、コードの使用を開始するためにファイルをインストールしたり、開発マシンを設定したりする必要はありません。詳細については、AWS Cloud9 User Guideを参照してください。

サンプルの実行

このサンプルを実行するには

  1. このトピックの「ディレクトリ構造」セクションと「ファイル」セクションの説明に従ってファイルを作成し、Amazon S3 入力バケットにアップロードするか、AWS CodeCommit、GitHub、または Bitbucket の各リポジトリにアップロードします。

    重要

    (root directory name) をアップロードしないでください。アップロードするのは、(root directory name) 内のファイルのみです。

    Amazon S3 入力バケットを使用している場合は、ファイルを含む ZIP ファイルを作成してから、入力バケットにアップロードしてください。(root directory name) を ZIP ファイルに追加しないでください。追加するのは、(root directory name) 内のファイルのみです。

  2. AWS CodeBuild を直接実行する」の手順に従ってビルドプロジェクトを作成し、ビルドを実行して、関連するビルド情報を表示します。

    AWS CLI を使用してビルドプロジェクトを作成する場合、create-project コマンドへの JSON 形式の入力は次のようになります。(プレースホルダは独自の値に置き換えてください。)

    { "name": "sample-ruby-project", "source": { "type": "S3", "location": "codebuild-region-ID-account-ID-input-bucket/RubySample.zip" }, "artifacts": { "type": "S3", "location": "codebuild-region-ID-account-ID-output-bucket", "packaging": "ZIP", "name": "RubyOutputArtifact.zip" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/ruby:2.3.1", "computeType": "BUILD_GENERAL1_SMALL" }, "serviceRole": "arn:aws:iam::account-ID:role/role-name", "encryptionKey": "arn:aws:kms:region-ID:account-ID:key/key-ID" }
  3. ビルド出力アーティファクトを取得するには、Amazon S3 出力バケットを開きます。

  4. RubyOutputArtifact.zip ファイルをローカルコンピュータまたはインスタンスへダウンロードし、 ファイルの内容を抽出します。展開したコンテンツから、HelloWorld.rb ファイルを取得します。

ディレクトリ構造

このサンプルのディレクトリ構造は次のとおりとします。

(root directory name) |-- buildspec.yml |-- HelloWorld.rb `-- HelloWorld_spec.rb

ファイル

このサンプルで使用するファイルは以下のとおりです。

buildspec.yml ((root directory name) 内)

version: 0.2 phases: install: commands: - echo Installing RSpec... - gem install rspec build: commands: - echo Build started on `date` - echo Compiling the Ruby code... - rspec HelloWorld_spec.rb post_build: commands: - echo Build completed on `date` artifacts: files: - HelloWorld.rb

HelloWorld.rb ((root directory name) 内)

class HelloWorld def say_hello() return 'Hello, world!' end end

HelloWorld_spec.rb ((root directory name) 内)

require './HelloWorld' describe HelloWorld do context "When testing the HelloWorld class" do it "The say_hello method should return 'Hello World'" do hw = HelloWorld.new message = hw.say_hello puts 'Succeed' if expect(message).to eq "Hello, world!" end end end

関連リソース