Shells e comandos em ambientes de compilação - AWS CodeBuild

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á.

Shells e comandos em ambientes de compilação

Você fornece um conjunto de comandos para o AWS CodeBuild executar em um ambiente de build durante o ciclo de vida de um build (por exemplo, instalar dependências de build e testar e compilar seu código-fonte). Há várias maneiras de especificar esses comandos:

  • Crie um arquivo de especificação da compilação e inclua-o no código-fonte. Nesse arquivo, especifique os comandos que deseja executar em cada fase de ciclo de vida do build. Para obter mais informações, consulte Referência de especificação de construção para CodeBuild.

  • Use o console do CodeBuild para criar um projeto de compilação. Em Insert build commands (Inserir comandos de compilação), para Build commands (Comandos de compilação), insira os comandos que deseja executar na fase build. Para obter mais informações, consulte Criar um projeto de compilação (console).

  • Use o console do CodeBuild para alterar as configurações de um projeto de compilação. Em Insert build commands (Inserir comandos de compilação), para Build commands (Comandos de compilação), insira os comandos que deseja executar na fase build. Para obter mais informações, consulte Alterar configurações de um projeto de compilação (console).

  • Use a AWS CLI ou os SDKs da AWS para criar um projeto de compilação ou alterar as configurações de um projeto de compilação. Faça referência ao código-fonte que contenha um arquivo de buildspec com os comandos ou especifique uma única string que inclua o conteúdo de um arquivo de buildspec equivalente. Para ter mais informações, consulte Criar um projeto de compilação ou Alterar configurações de um projeto de compilação.

  • Use a AWS CLI ou AWS SDKs para iniciar uma compilação, especificando um arquivo de buildspec ou uma única string que inclua o conteúdo de um arquivo de buildspec equivalente. Para obter mais informações, consulte a descrição para o valor buildspecOverride em Executar uma compilação.

É possível especificar qualquer comando da linguagem de comandos Shell (sh). Na buildspec versão 0.1, o CodeBuild executa cada comando do shell em uma instância separada no ambiente de compilação. Isso significa que cada comando é executado isoladamente em relação aos outros comandos. Portanto, por padrão, não é possível executar um comando que dependa do estado de algum comando anterior (por exemplo, mudança de diretórios ou configuração de variáveis de ambiente). Para resolver essa limitação, recomendamos usar a versão 0.2, que resolve o problema. Caso você precise usar a versão 0.1, recomendamos as seguintes abordagens:

  • Inclua um script de shell em seu código-fonte que contenha os comandos que você deseja executar em uma única instância do shell padrão. Por exemplo, você poderia incluir um arquivo denominado my-script.sh em seu código-fonte que contenha comandos como cd MyDir; mkdir -p mySubDir; cd mySubDir; pwd;. Depois, no arquivo de buildspec, especifique o comando ./my-script.sh.

  • No arquivo de buildspec, ou na configuração Build commands (Comandos de compilação) apenas da fase build, especifique um único comando que inclua todos os comandos que você deseja executar em uma única instância do shell padrão (por exemplo, cd MyDir && mkdir -p mySubDir && cd mySubDir && pwd).

Se o CodeBuild encontrar um erro, pode ser mais difícil solucioná-lo, em comparação a executar um único comando na própria instância do shell padrão.

Os comandos executados em uma imagem do Windows Server Core usam o shell do PowerShell.