Criar uma configuração de construção que extraia a origem do repositório público
Se a sua origem estiver localizada em um repositório público, crie uma configuração de construção com definições que incluam informações sobre onde extrair a origem de um repositório público. Para a saída da compilação, você pode optar por especificar detalhes do registro junto com um segredo do registro para acessar a imagem compilada no registro. Ou ainda, é possível optar por deixar que o Code Engine cuide da construção da imagem para você por meio sua origem e armazene a imagem no IBM Cloud Container Registry. Nesse caso, não é necessário especificar um segredo de registro ou o local do registro da imagem.
A criação de uma configuração de construção não cria uma imagem, mas cria a configuração para construir uma imagem. Em seguida, deve-se executar uma construção que referencie a configuração de construção para criar uma imagem. A configuração de construção não é validada nem usada para criar uma imagem até que a construção seja executada. A configuração de construção possibilita várias construções subsequentes de uma imagem, como quando as mudanças são aplicadas ao repositório de origem.
É possível optar por ignorar certos padrões de arquivo de dentro do seu código-fonte usando o arquivo .ceignore, que se comporta de forma semelhante a um arquivo .gitignore. Por exemplo, entradas para um arquivo .ceignore para um aplicativo node.js podem incluir node_modules e .npm. Para obter mais exemplos de padrões de arquivos a serem ignorados, consulte o repositório .gitignoreGitHub.
Criando uma configuração de construção por meio do console (repositório público)
-
Acesse o painel do Code Engine.
-
Selecione o projeto no qual incluiu seu registro de contêiner.
-
Na página de projeto, clique em Construções de imagem.
-
Na guia Construção de imagem, clique em Criar. O painel lateral Especificar detalhes da construção abre e você insere os detalhes de sua construção.
-
Na seção Origem, insira um nome para sua construção, a URL do seu repositório de origem e o seu acesso de repositório do código.
- Se o seu código estiver em um repositório público, use um URL HTTPS e selecione None (Nenhum ) para o acesso ao repositório de código. Um exemplo de URL HTTPS é
https://github.com/IBM/CodeEngine. - Se o seu código estiver em um repositório privado, use uma URL SSH para a URL do repositório de código e selecione o nome de um acesso de repositório de código existente ou crie um acesso de repositório de código.
Um exemplo de uma URL SSH é
git@github.com:IBM/CodeEngine.git. - Opcionalmente, selecione um nome de ramificação de origem. Se você não fornecer um nome de ramificação e deixar o campo vazio, o Code Engine usará automaticamente a ramificação padrão do repositório especificado. É possível inserir qualquer outro nome de ramificação, tag ou ID de confirmação.
Clique em Avançar para continuar.
- Se o seu código estiver em um repositório público, use um URL HTTPS e selecione None (Nenhum ) para o acesso ao repositório de código. Um exemplo de URL HTTPS é
-
Na seção Estratégia, selecione a estratégia que você deseja usar.
- Se você selecionar Dockerfile, será possível também especificar um caminho alternativo para o seu Dockerfile.
- Selecione o tamanho de sua construção em Recursos de construção.
Clique em Avançar para continuar.
-
Na seção Saída, insira os detalhes da sua imagem de contêiner.
- Selecione um segredo de registro existente ou clique em Create registry secret (Criar segredo de registro ) para adicionar um novo.
- Se estiver criando sua imagem para uma instância Container Registry que esteja em sua conta, você poderá selecionar
Code Engine managed secrete Code Engine criará e gerenciará o segredo para você. - Em seguida, selecione o namespace, o repositório e a tag da imagem que você deseja construir. Você pode escolher Code Engine para criar e gerenciar o namespace em Container Registry para você.
- Se a sua imagem existir no Container Registry, será possível selecionar entre as imagens existentes ou inserir um novo repositório ou tag.
-
Clique em Pronto para concluir a criação da construção.
Depois de criar a configuração de construção, deve-se executar a construção para criar o arquivo de imagem Depois que seu arquivo de imagem é criado, é possível implementar um aplicativo ou executar uma tarefa com seu arquivo de imagem recém-construído
Criando uma configuração de construção com a CLI (repositório público)
Para criar uma configuração de construção com a CLI, use o comando build create. Para obter uma listagem completa de opções, consulte o comando ibmcloud ce build create.
Com o comando build create, é possível optar por deixar que o Code Engine cuide da construção da imagem para você por meio da sua origem e depois armazene a imagem no IBM Cloud Container Registry. Para esse caso
de acesso automático, não é necessário especificar um segredo de registro ou o local do registro de imagem. Ou você pode especificar o local para a saída da imagem da compilação e fornecer um segredo de registro para que Code Engine
possa acessar e enviar o resultado da compilação para o seu registro.
Criando uma configuração de construção com a CLI (com origem de repositório público e acesso automático ao registro)
Neste cenário, o Code Engine constrói uma imagem por meio da origem do repositório Git público, e automaticamente faz upload da imagem para o IBM Cloud Container Registry com acesso automático. Consulte Configurando autoridades para registros de imagem para obter mais informações sobre a configuração de permissões necessárias para o Code Engine acessar automaticamente essas imagens no Container Registry.
Antes de Iniciar
-
Crie uma configuração de construção para construir uma imagem por meio de um repositório Git público e deixe que o Code Engine armazene e acesse a imagem automaticamente. Por exemplo, o comando
build createa seguir cria uma configuração de construção que é chamadahelloworld-builde construída por meio da origem no repositório Git públicohttps://github.com/IBM/CodeEngine. Neste exemplo, o comando usa a estratégiadockerfilepadrão, e o tamanho de construçãomediumpadrão. Como o nome da ramificação do repositório não é especificado com a opção--commit, o Code Engine usa automaticamente a ramificação padrão do repositório especificado, que émainpara este repositório Git. Ao não especificar o local do registro de imagem ou um segredo de registro, Code Engine envia a saída da compilação para IBM Cloud Container Registry com acesso automático.ibmcloud ce build create --name helloworld-build --source https://github.com/IBM/CodeEngine --context-dir /helloSaída de exemplo
Creating build helloworld-build... OKA tabela a seguir resume as opções que são usadas com o comando
build createneste exemplo. Consulte o comandoibmcloud ce build createpara obter mais informações sobre ele e as opções que ele oferece.Descrição do comando Opção Descrição --nameO nome da compilação. Use um nome que seja exclusivo dentro do projeto. Esse valor é necessário.
-O nome deve começar com uma letra minúscula.
-O nome deve terminar com um caractere alfanumérico minúscula.
-O nome deve ter 55 caracteres ou menos e pode conter letras, números e hifens (-).--sourceA URL do repositório Git que contém o seu código-fonte; por exemplo, https://github.com/IBM/CodeEngine.--context-dirO diretório no repositório que contém o arquivo buildpacks ou o Dockerfile. Especifique esse valor se o seu arquivo de buildpacks ou Dockerfile estiver contido em um subdiretório. Este valor é opcional. -
Use o comando
build getpara verificar o status da construção.ibmcloud ce build get --name helloworld-buildSaída de exemplo
Observe o nome gerado para a imagem e que o nome do segredo de registro criado automaticamente tem o formato
ce-auto-icr-private-<region>.Getting build 'helloworld-build' OK Name: helloworld-build ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2022-05-24T09:58:43-05:00 Build Type: git Status: Succeeded Reason: all validations succeeded Image: private.us.icr.io/ce--e97a8-odof2whblw5/build-helloworld-build Registry Secret: ce-auto-icr-private-us-south Build Strategy: dockerfile-medium Timeout: 10m0s Source: https://github.com/IBM/CodeEngine Commit: main Context Directory: /hello Dockerfile: Dockerfile
Depois de criar a configuração de construção, deve-se executar a construção para criar o arquivo de imagem Depois que seu arquivo de imagem é criado, é possível implementar um aplicativo ou executar uma tarefa com seu arquivo de imagem recém-construído
Criando uma configuração de construção com a CLI (com origem de repositório público e acesso ao registro fornecido pelo usuário)
Neste cenário, o Code Engine constrói uma imagem por meio da origem do repositório Git público e, em seguida, faz upload da imagem para o seu registro de contêiner com o acesso ao registro que você fornece.
Antes de Iniciar
- Configure o seu ambiente da CLI do Code Engine.
- Criar e trabalhar com um projeto.
- Criar um segredo de registro para que seja possível salvar sua imagem.
-
Crie uma configuração de compilação para compilar uma imagem a partir de um repositório Git público e especifique o local do registro de imagem para a saída da compilação com um segredo de registro. Com o comando
build create, especifique a opção--imagepara fornecer o local do registro da imagem, e especifique a opção--registry-secretpara acessar o registro. Por exemplo, o comando a seguir cria uma configuração de construção chamadahelloworld-build2que é construída a partir do Git repohttps://github.com/IBM/CodeEnginepúblico e armazena a imagem nous.icr.io/mynamespace/codeengine-helloworldusando o segredo de registromyregistry. Neste exemplo, o comando usa a estratégiadockerfilepadrão, e o tamanho de construçãomediumpadrão. Como o nome da ramificação do repositório não é especificado com a opção--commit, o Code Engine usa automaticamente a ramificação padrão do repositório especificado, que émainpara este repositório Git.Se você estiver usando a opção
--strategycom o valor dedockerfile, certifique-se de que a opção--dockerfileestá corretamente configurada para o nome dodockerfile. O valor padrão para a opção--strategyéDockerfile.ibmcloud ce build create --name helloworld-build2 --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source https://github.com/IBM/CodeEngine --context-dir /helloSaída de exemplo
Creating build helloworld-build2... OKA tabela a seguir resume as opções que são usadas com o comando
build createneste exemplo. Consulte o comandoibmcloud ce build createpara obter mais informações sobre ele e as opções que ele oferece.Descrição do comando Opção Descrição --nameO nome da compilação. Use um nome que seja exclusivo dentro do projeto. Esse valor é necessário.
-O nome deve começar com uma letra minúscula.
-O nome deve terminar com um caractere alfanumérico minúscula.
-O nome deve ter 55 caracteres ou menos e pode conter letras, números e hifens (-).--imageO local do registro de imagem. O formato do local deve ser REGISTRY/NAMESPACE/REPOSITORYouREGISTRY/NAMESPACE/REPOSITORY:TAGno qualTAGé opcional. SeTAGnão for especificado, o padrão serálatest.--registry-secretO segredo do registro que é usado para acessar o registro. É possível incluir o segredo de registro, executando o comando secret create --format registryO segredo do registro é usado para autenticação em um registro privado.--sourceA URL do repositório Git que contém o seu código-fonte; por exemplo, https://github.com/IBM/CodeEngine.--context-dirO diretório no repositório que contém o arquivo buildpacks ou o Dockerfile. Especifique esse valor se o seu arquivo de buildpacks ou Dockerfile estiver contido em um subdiretório. Este valor é opcional. -
Use o comando
build getpara verificar o status da construção.ibmcloud ce build get --name helloworld-build2Saída de exemplo
Getting build 'helloworld-build2' OK Name: helloworld-build2 ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2021-03-14T14:48:19-05:00 Status: Succeeded Reason: all validations succeeded Image: us.icr.io/mynamespace/codeengine-helloworld Registry Secret: myregistry Build Strategy: dockerfile-medium Timeout: 10m0s Source: https://github.com/IBM/CodeEngine Commit: main Context Directory: /hello Dockerfile: Dockerfile
Depois de criar a configuração de construção, deve-se executar a construção para criar o arquivo de imagem Depois que seu arquivo de imagem é criado, é possível implementar um aplicativo ou executar uma tarefa com seu arquivo de imagem recém-construído
Se você receber uma falha de validação de comando, verifique se o seu segredo existe. Se você se referir a um segredo de registro --registry-secret) para a sua imagem e o segredo não existir, consulte Acesso a registros de contêineres.
Para obter mais informações sobre construções, verifique as Dicas de resolução de problemas.