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 料金表」を参照してください。


Did you know you can use AWS Cloud9 to work with the code in this topic? AWS Cloud9 is an online, cloud-based integrated development environment (IDE) you can use to write, run, debug, and deploy code—using just a browser from an internet-connected machine. AWS Cloud9 includes a code editor, debugger, terminal, and essential tools, such as the AWS CLI and Git. In many cases, you don't need to install files or configure your development machine to start working with code. Learn more in the 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/" }, "artifacts": { "type": "S3", "location": "codebuild-region-ID-account-ID-output-bucket", "packaging": "ZIP", "name": "" }, "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. ファイルをローカルコンピュータまたはインスタンスへダウンロードし、 ファイルの内容を抽出します。展開したコンテンツから、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 = message = hw.say_hello puts 'Succeed' if expect(message).to eq "Hello, world!" end end end