기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
2단계: 샘플 애플리케이션 수정 버전 만들기
이 단계에서는 온프레미스 인스턴스에 배포할 샘플 애플리케이션 수정을 만듭니다.
온프레미스 인스턴스에 이미 설치되어 있거나 조직의 정책에 따라 설치할 수 있는 소프트웨어 및 기능을 파악하기 어렵기 때문에 여기에서 제공하는 샘플 애플리케이션 개정판은 배치 스크립트(Windows Server의 경우) 또는 쉘 스크립트(Ubuntu Server 및 의 경우RHEL)를 사용하여 온프레미스 인스턴스의 위치에 텍스트 파일을 작성합니다. 설치, , 및 를 포함하여 여러 CodeDeploy 배포 수명 주기 이벤트 각각에 대해 하나의 파일이 작성됩니다AfterInstallApplicationStartValidateService. BeforeInstall 배포 수명 주기 이벤트 중에 스크립트가 실행되어 이 샘플의 이전 배포 중에 작성된 이전 파일을 제거하고 새 파일을 쓸 온프레미스 인스턴스에 위치를 생성합니다.
참고
다음 중 하나에 해당하면 샘플 애플리케이션 수정을 배포하지 못할 수 있습니다.
-
온프레미스 인스턴스에서 CodeDeploy 에이전트를 시작하는 사용자는 스크립트를 실행할 권한이 없습니다.
-
사용자에게 스크립트에 나열된 위치에 폴더를 만들거나 삭제할 권한이 없는 경우
-
사용자에게 스크립트에 나열된 위치에 텍스트 파일을 만들 권한이 없는 경우
참고
Windows Server 인스턴스를 구성했는데 다른 샘플을 배포하고자 하는 경우 튜토리얼: CodeDeploy를 사용하여 "hello, world!" 응용 프로그램 CodeDeploy (윈도우 서버) 튜토리얼의 2단계: Windows Server Amazon EC2 인스턴스에 배포하도록 원본 콘텐츠 구성에 나와 있는 샘플을 사용할 수 있습니다.
RHEL 인스턴스를 구성하고 다른 샘플을 배포하려는 경우 튜토리얼: Amazon EC2 인스턴스에 배포 WordPress (아마존 리눅스 또는 레드햇 엔터프라이즈 리눅스 및 리눅스, macOS 또는 유닉스) 자습서2단계: Amazon Linux 또는 Red Hat Enterprise Linux Amazon EC2 인스턴스에 배포할 소스 콘텐츠 구성의 에 있는 인스턴스를 사용할 수 있습니다.
현재, Ubuntu Server에 사용할 수 있는 대체 샘플은 없습니다.
-
개발 머신에 샘플 애플리케이션 수정의 파일을 저장할
CodeDeployDemo-OnPrem
이라는 하위 디렉터리(하위 폴더)를 만든 다음 이 폴더로 이동합니다. 이 예제에서는c:\temp
폴더를 Windows Server의 루트 폴더로 사용하거나/tmp
폴더를 Ubuntu Server 및 의 루트 폴더로 사용한다고 가정합니다RHEL. 다른 폴더를 사용하는 경우 이 자습서 전체에서 해당 폴더로 바꾸십시오.Windows의 경우:
mkdir c:\temp\CodeDeployDemo-OnPrem cd c:\temp\CodeDeployDemo-OnPrem
Linux, macOS, Unix의 경우:
mkdir /tmp/CodeDeployDemo-OnPrem cd /tmp/CodeDeployDemo-OnPrem
-
CodeDeployDemo-OnPrem
하위 폴더의 루트에서 텍스트 편집기를 사용하여appspec.yml
이라는 파일과install.txt
라는 파일을 만듭니다.Windows Server의 경우
appspec.yml
: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.yml
Ubuntu 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 AppSpec 파일 참조.
install.txt
:The Install deployment lifecycle event successfully completed.
-
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
-
scripts
하위 폴더의 루트에서 텍스트 편집기를 사용하여 Windows Server의validate-service.bat
경우before-install.bat
,after-install.bat
,application-start.bat
, 또는 Ubuntu Server 및 의validate-service.sh
경우before-install.sh
,application-start.sh
,after-install.sh
라는 네 개의 파일을 생성합니다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
-
Ubuntu Server 및 RHEL의 경우에만 4개의 쉘 스크립트에 실행 권한이 있는지 확인합니다.
chmod +x ./scripts/*