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

AWS CodeBuild の Python Hello World サンプル

この Python サンプルテストでは、コードの内部変数が Hello world! という文字列を含んでいるかをテストします。これにより、ビルド出力として HelloWorld.py という名前の 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-python-project", "source": { "type": "S3", "location": "codebuild-region-ID-account-ID-input-bucket/PythonSample.zip" }, "artifacts": { "type": "S3", "location": "codebuild-region-ID-account-ID-output-bucket", "packaging": "ZIP", "name": "PythonOutputArtifact.zip" }, "environment": { "type": "LINUX_CONTAINER", "image": "aws/codebuild/python:3.5.2", "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. PythonOutputArtifact.zip ファイルをローカルコンピュータまたはインスタンスへダウンロードし、 ファイルの内容を抽出します。展開したコンテンツから、HelloWorld.py ファイルを取得します。

ディレクトリ構造

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

(root directory name) |-- buildspec.yml |-- HelloWorld.py `-- HelloWorld_tst.py

ファイル

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

buildspec.yml ((root directory name) 内)

version: 0.2 phases: build: commands: - echo Build started on `date` - echo Compiling the Python code... - python HelloWorld_tst.py post_build: commands: - echo Build completed on `date` artifacts: files: - HelloWorld.py

HelloWorld.py ((root directory name) 内)

class HelloWorld: def __init__(self): self.message = 'Hello world!'

HelloWorld_tst.py ((root directory name) 内)

import unittest from HelloWorld import HelloWorld class MyTestCase(unittest.TestCase): def test_default_greeting_set(self): hw = HelloWorld() self.assertEqual(hw.message, 'Hello world!') if __name__ == '__main__': unittest.main()

関連リソース