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: configurar seu conteúdo de origem para ser implantado na instância Amazon Linux ou Red Hat Enterprise Linux instância do Amazon EC2
Agora é hora de configurar o conteúdo de origem do seu aplicativo, para que você tenha algo para implantar na instância.
Tópicos
Obter o código-fonte
Para este tutorial, você implantará a plataforma de publicação de conteúdo WordPress da sua máquina de desenvolvimento na sua instância do Amazon EC2 de destino. Para obter o código-fonte do WordPress, você pode usar chamadas internas de linha de comando. Ou, se tiver o Git instalado na sua máquina de desenvolvimento, poderá usá-lo como alternativa.
Para estas etapas, partimos do princípio de que você tenha feito download de uma cópia do código-fonte do WordPress no diretório /tmp da sua máquina de desenvolvimento. (É possível escolher qualquer diretório desejado, mas lembre-se de substituir /tmp pela localização sempre que esse diretório for especificado nas etapas.)
Escolha uma das duas opções a seguir para copiar os arquivos de código-fonte do WordPress em sua máquina de desenvolvimento. A primeira opção usa chamadas integradas de linha de comando. A segunda opção usa o Git.
Tópicos
Para obter uma cópia do código-fonte do WordPress (chamadas internas de linha de comando)
-
Chame o comando wget para fazer download de uma cópia do código-fonte do WordPress, como um arquivo .zip, no diretório atual:
wget https://github.com/WordPress/WordPress/archive/master.zip -
Chame os comandos unzip, mkdir, cp e rm para:
-
Descompactar o arquivo
master.zip no/tmp/WordPress_Tempdiretório (pasta). -
Copiar seu conteúdo descompactado na pasta de destino
/tmp/WordPress. -
Excluir a pasta temporária
/tmp/WordPress_Tempe o arquivomaster.
Execute os comandos um de cada vez:
unzip master -d /tmp/WordPress_Tempmkdir -p /tmp/WordPresscp -paf /tmp/WordPress_Temp/WordPress-master/* /tmp/WordPressrm -rf /tmp/WordPress_Temprm -f masterIsso deixará você com um conjunto limpo de arquivos de código-fonte do WordPress na pasta
/tmp/WordPress. -
Para obter uma cópia do código-fonte do WordPress (Git)
-
Baixe e instale o Git
na sua máquina de desenvolvimento. -
Na pasta
/tmp/WordPress, chame o comando git init. -
Chame o comando git clone para clonar o repositório público do WordPress, criando sua própria cópia dele na pasta de destino
/tmp/WordPress:git clone https://github.com/WordPress/WordPress.git /tmp/WordPressIsso deixará você com um conjunto limpo de arquivos de código-fonte do WordPress na pasta
/tmp/WordPress.
Criar scripts para executar seu aplicativo
Em seguida, crie uma pasta e scripts no diretório. O CodeDeploy usa esses scripts para configurar e implantar sua revisão de aplicativo na instância do Amazon EC2 de destino. É possível usar qualquer editor de texto para criar os scripts.
-
Crie um diretório de scripts na sua cópia do código-fonte do WordPress:
mkdir -p /tmp/WordPress/scripts -
Crie um arquivo
install_dependencies.shno/tmp/WordPress/scripts. Adicione as seguintes linhas ao arquivo. Este scriptinstall_dependencies.shinstala Apache, MySQL e PHP. Ele também adiciona suporte do MySQL ao PHP.#!/bin/bash sudo amazon-linux-extras install php7.4 sudo yum install -y httpd mariadb-server php -
Crie um arquivo
start_server.shno/tmp/WordPress/scripts. Adicione as seguintes linhas ao arquivo. Este scriptstart_server.shinicia Apache e MySQL.#!/bin/bash systemctl start mariadb.service systemctl start httpd.service systemctl start php-fpm.service -
Crie um arquivo
stop_server.shno/tmp/WordPress/scripts. Adicione as seguintes linhas ao arquivo. Este scriptstop_server.shpara Apache e MySQL.#!/bin/bash isExistApp="pgrep httpd" if [[ -n $isExistApp ]]; then systemctl stop httpd.service fi isExistApp=pgrep mysqld if [[ -n $isExistApp ]]; then systemctl stop mariadb.service fi isExistApp=pgrep php-fpm if [[ -n $isExistApp ]]; then systemctl stop php-fpm.service fi -
Crie um arquivo
create_test_db.shno/tmp/WordPress/scripts. Adicione as seguintes linhas ao arquivo. Este scriptcreate_test_db.shusa o MySQL para criar um banco de dados detestpara uso do WordPress.#!/bin/bash mysql -uroot <<CREATE_TEST_DB CREATE DATABASE IF NOT EXISTS test; CREATE_TEST_DB -
Finalmente, crie um script
change_permissions.shem/tmp/WordPress/scripts. Ele é usado para alterar as permissões de pastas no Apache.Importante
Este script mostra permissões atualizadas na pasta
/tmp/WordPresspara que qualquer pessoa possa gravar nele. Isso é necessário para que o WordPress possa gravar em seu banco de dados durante Etapa 5: atualizar e reimplantar o aplicativo WordPress. Depois que o aplicativo do WordPress for configurado, execute o seguinte comando para atualizar permissões em uma configuração mais segura:chmod -R 755 /var/www/html/WordPress#!/bin/bash chmod -R 777 /var/www/html/WordPress -
Dê todas as permissões executáveis de scripts. Na linha de comando, digite:
chmod +x /tmp/WordPress/scripts/*
Adicionar um arquivo de especificação de aplicativo
Em seguida, adicione um arquivo de especificação de aplicativo (arquivo AppSpec), um arquivo formatado em YAML
-
Mapear os arquivos de origem na sua revisão de aplicativo para os respectivos destinos na instância do Amazon EC2 de destino.
-
Especificar permissões personalizadas para arquivos implantados.
-
Especificar os scripts a serem executados na instância do Amazon EC2 de destino durante a implantação.
O arquivo AppSpec deve ser nomeado appspec.yml. Ele deve ser colocado no diretório raiz do código-fonte do aplicativo. Neste tutorial, o diretório raiz é . /tmp/WordPress
Com seu editor de texto, crie um arquivo chamado appspec.yml. Adicione as seguintes linhas ao arquivo:
version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root
O CodeDeploy usa esse arquivo AppSpec para copiar todos os arquivos da pasta /tmp/WordPress na máquina de desenvolvimento na pasta /var/www/html/WordPress da instância do Amazon EC2 de destino. Durante a implantação, o CodeDeploy executa os scripts especificados como root na pasta /var/www/html/WordPress/scripts da instância do Amazon EC2 de destino em eventos especificados durante o ciclo de vida da implantação, como BeforeInstall e AfterInstall. Se algum desses scripts demorar mais de 300 segundos (5 minutos) para ser executado, o CodeDeploy interromperá a implantação e a marcará como falha.
Para obter mais informações sobre essas configurações, consulte o CodeDeploy AppSpec referência de arquivo.
Importante
Os locais e números de espaços entre cada um dos itens desse arquivo são importantes. Se o espaçamento estiver incorreto, o CodeDeploy gerará um erro que pode ser difícil de depurar. Para obter mais informações, consulte AppSpec Espaçamento de arquivos.