ステップ 2: サンプルアプリケーションリビジョンを作成する - AWS CodeDeploy

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 2: サンプルアプリケーションリビジョンを作成する

このステップでは、オンプレミスインスタンスにデプロイするサンプルのアプリケーションリビジョンを作成します。

オンプレミスインスタンスに既にインストールされている、または組織のポリシーによってインストールが許可されているソフトウェアと機能を知るのは難しいため、ここで提供するサンプルアプリケーションリビジョンでは、バッチスクリプト(Windows Server の場合)またはシェルスクリプト(Ubuntu Server および RHEL の場合)を使用します。オンプレミスインスタンス上の場所にテキストファイルを書き込みます。複数の CodeDeploy デプロイライフサイクルイベントごとに 1 つのファイルが書き込まれます。インストール,AfterInstall,ApplicationStart, およびValidateServiceBeforeInstall デプロイライフサイクルイベント中にスクリプトが実行され、このサンプルの前のデプロイ中に書き込まれた古いファイルを削除し、新しいファイルを書き込むオンプレミスインスタンス上に場所を作成します。

注記

以下のいずれも該当しない場合、このサンプルのアプリケーションリビジョンはデプロイに失敗することがあります。

  • オンプレミスインスタンスで、CodeDeploy エージェントを起動するユーザーアカウントに、スクリプトを実行する権限がありません。

  • ユーザーアカウントに、スクリプトにリストされている場所でフォルダを作成または削除する権限がない。

  • ユーザーアカウントに、スクリプトにリストされている場所でテキストファイルを作成する権限がない。

  1. 開発マシンで、サンプルのアプリケーションリビジョンのファイルを保存する、CodeDeployDemo-OnPrem という名前のサブディレクトリ (サブフォルダ) を作成し、そのサブフォルダに切り替えます。この例では、c:\tempフォルダを Windows Server のルートフォルダとして、または/tmpUbuntu サーバーと RHEL のルートフォルダーとしてフォルダーを指定します。別のフォルダを使用する場合は、このチュートリアル全体でそのフォルダに置き換えてください。

    Windows の場合:

    mkdir c:\temp\CodeDeployDemo-OnPrem cd c:\temp\CodeDeployDemo-OnPrem

    Linux、macOS、Unix の場合:

    mkdir /tmp/CodeDeployDemo-OnPrem cd /tmp/CodeDeployDemo-OnPrem
  2. CodeDeployDemo-OnPrem サブフォルダのルートで、テキストエディタを使用して appspec.yml および install.txt という 2 つのファイルを作成します。

    appspec.ymlWindows Server の場合:

    version: 0.0 os: windows files: - source: .\install.txt destination: c:\temp\CodeDeployExample hooks: BeforeInstall: - location: .\scripts\before-install.bat timeout: 900 AfterInstall: - location: .\scripts\after-install.bat timeout: 900 ApplicationStart: - location: .\scripts\application-start.bat timeout: 900 ValidateService: - location: .\scripts\validate-service.bat timeout: 900

    appspec.ymlUbuntu ServerとRHELの場合:

    version: 0.0 os: linux files: - source: ./install.txt destination: /tmp/CodeDeployExample hooks: BeforeInstall: - location: ./scripts/before-install.sh timeout: 900 AfterInstall: - location: ./scripts/after-install.sh timeout: 900 ApplicationStart: - location: ./scripts/application-start.sh timeout: 900 ValidateService: - location: ./scripts/validate-service.sh timeout: 900

    AppSpec ファイルの詳細については、「CodeDeploy のリビジョンにアプリケーション仕様ファイルを追加する」および「CodeDeploy Spec ファイルのリファレンス」を参照してください。

    install.txt:

    The Install deployment lifecycle event successfully completed.
  3. CodeDeployDemo-OnPrem サブフォルダのルートの下に、scripts サブフォルダを作成し、そのサブフォルダに切り替えます。

    Windows の場合:

    mkdir c:\temp\CodeDeployDemo-OnPrem\scripts cd c:\temp\CodeDeployDemo-OnPrem\scripts

    Linux、macOS、Unix の場合:

    mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts cd /tmp/CodeDeployDemo-OnPrem/scripts
  4. の根元にscriptsサブフォルダ。テキストエディタを使用してという 4 つのファイルを作成しますbefore-install.bat,after-install.bat,application-start.bat, およびvalidate-service.batWindows Server の場合、またはbefore-install.sh,after-install.sh,application-start.sh, およびvalidate-service.shUbuntu ServerとRHELの場合:

    Windows Server の場合:

    before-install.bat:

    set FOLDER=%HOMEDRIVE%\temp\CodeDeployExample if exist %FOLDER% ( rd /s /q "%FOLDER%" ) mkdir %FOLDER%

    after-install.bat:

    cd %HOMEDRIVE%\temp\CodeDeployExample echo The AfterInstall deployment lifecycle event successfully completed. > after-install.txt

    application-start.bat:

    cd %HOMEDRIVE%\temp\CodeDeployExample echo The ApplicationStart deployment lifecycle event successfully completed. > application-start.txt

    validate-service.bat:

    cd %HOMEDRIVE%\temp\CodeDeployExample echo The ValidateService deployment lifecycle event successfully completed. > validate-service.txt

    Ubuntu Server および RHEL の場合:

    before-install.sh:

    #!/bin/bash export FOLDER=/tmp/CodeDeployExample if [ -d $FOLDER ] then rm -rf $FOLDER fi mkdir -p $FOLDER

    after-install.sh:

    #!/bin/bash cd /tmp/CodeDeployExample echo "The AfterInstall deployment lifecycle event successfully completed." > after-install.txt

    application-start.sh:

    #!/bin/bash cd /tmp/CodeDeployExample echo "The ApplicationStart deployment lifecycle event successfully completed." > application-start.txt

    validate-service.sh:

    #!/bin/bash cd /tmp/CodeDeployExample echo "The ValidateService deployment lifecycle event successfully completed." > validate-service.txt unset FOLDER
  5. Ubuntu Server および RHEL の場合のみ、4 つのシェルスクリプトに実行権限があることを確認します。

    chmod +x ./scripts/*