As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Etapa 2: criar uma revisão de aplicativo de amostra
Nesta etapa, você cria uma revisão do aplicativo de amostra para implantar na instância no local.
Como é difícil saber quais softwares e atributos já estão instalados (ou podem ser instalados de acordo com as políticas da sua organização) na sua instância on-premises, a revisão de aplicativo de exemplo que oferecemos aqui usa simplesmente scripts em lote (para o Windows Server) ou scripts shell (para o Ubuntu Server e o RHEL) para gravar arquivos de texto em um localização na sua instância on-premises. Um arquivo é gravado para cada um dos vários eventos do ciclo de vida da CodeDeploy implantação, incluindo Instalação, AfterInstallApplicationStart, e. ValidateService Durante o evento do ciclo de vida da BeforeInstallimplantação, um script será executado para remover arquivos antigos gravados durante implantações anteriores dessa amostra e criar um local na sua instância local para gravar os novos arquivos.
nota
A implantação dessa revisão de aplicativo de amostra poderá falhar se qualquer uma das seguintes condições for verdadeira:
-
O usuário que inicia o CodeDeploy agente na instância local não tem permissão para executar scripts.
-
O usuário não tem permissão para criar ou excluir pastas nas localizações listadas nos scripts.
-
O usuário não tem permissão para criar arquivos de texto nas localizações listadas nos scripts.
nota
Se você tiver configurado uma instância do Windows Server e quiser implantar uma amostra diferente, convém usar aquela em Etapa 2: configurar seu conteúdo de origem para implantar na instância do Amazon EC2 do Windows Server no tutorial Tutorial: implantar um aplicativo "Hello, World!" aplicativo com CodeDeploy (Windows Server).
Se você tiver configurado uma instância do RHEL e quiser implantar uma amostra diferente, convém usar aquela em Etapa 2: Configure seu conteúdo de origem para ser implantado na instância Amazon Linux ou Red Hat Enterprise Linux Amazon EC2 no tutorial Tutorial: Implante WordPress em uma instância do Amazon EC2 (Amazon Linux ou Red Hat Enterprise Linux e Linux, macOS ou Unix).
Atualmente, não existe uma amostra alternativa para o Ubuntu Server.
-
Na sua máquina de desenvolvimento, crie um subdiretório (subpasta) chamado
CodeDeployDemo-OnPrem
que armazenará os arquivos da revisão de aplicativo de amostra e, em seguida, mude para essa subpasta. Para este exemplo, assumimos que você usarác:\temp
como a pasta raiz para o Windows Server ou a pasta/tmp
como a pasta raiz para o Ubuntu Server e o RHEL. Se usar uma pasta diferente, certifique-se de usá-la no lugar das pastas acima neste tutorial:Para Windows:
mkdir c:\temp\CodeDeployDemo-OnPrem cd c:\temp\CodeDeployDemo-OnPrem
Para Linux, macOS ou Unix:
mkdir /tmp/CodeDeployDemo-OnPrem cd /tmp/CodeDeployDemo-OnPrem
-
Na raiz da subpasta
CodeDeployDemo-OnPrem
, use um editor de texto para criar os dois seguintes arquivosappspec.yml
einstall.txt
:appspec.yml
para Windows 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.yml
para Ubuntu Server e 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
Para obter mais informações sobre AppSpec arquivos, consulte Adicionar um arquivo de especificação do aplicativo a uma revisão do CodeDeploy CodeDeploy AppSpec referência de arquivo e.
install.txt
:The Install deployment lifecycle event successfully completed.
-
Na raiz da subpasta
CodeDeployDemo-OnPrem
, crie uma subpastascripts
e, em seguida, mude para ela:Para Windows:
mkdir c:\temp\CodeDeployDemo-OnPrem\scripts cd c:\temp\CodeDeployDemo-OnPrem\scripts
Para Linux, macOS ou Unix:
mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts cd /tmp/CodeDeployDemo-OnPrem/scripts
-
Na raiz da subpasta
scripts
, use um editor de texto para criar os quatro seguintes arquivosbefore-install.bat
,after-install.bat
,application-start.bat
evalidate-service.bat
para Windows Server, oubefore-install.sh
,after-install.sh
,application-start.sh
evalidate-service.sh
para Ubuntu Server e RHEL:Para 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
Para Ubuntu Server e 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
-
Somente para o Ubuntu Server e o RHEL, certifique-se de que os quatro scripts de shell tenham permissões de execução:
chmod +x ./scripts/*