Integrando Code Engine cargas de trabalho com Continuous Delivery
Você pode automatizar a construção e a implementação de suas cargas de trabalho IBM Cloud® Code Engine criando uma cadeia de ferramentas com Continuous Delivery. Você pode criar uma cadeia de ferramentas que puxa seu código-fonte de um repositório e, em seguida, constrói e implementa o seu app ou job. Sempre que você atualiza o código-fonte no repositório, a cadeia de ferramentas automaticamente puxa seu código atualizado e então constrói e re-implementa seu app ou job.
Antes de Iniciar
Antes de começar com as redes de ferramentas,
-
Crie ou identifique um Code Engine projeto. É possível criar esses recursos usando o console ou a CLI. Para obter mais informações, consulte Code Engine projetos.
-
Crie ou identifique uma instância do serviço Continuous Delivery.
-
Crie ou identifique um namespace IBM Cloud Container Registry. Para obter mais informações sobre a criação de um namespace, consulte IBM Cloud Container Registry serviço.
Configurando o acesso para sua cadeia de ferramentas
Se você desejar construir e implementar um aplicativo ou uma tarefa com uma cadeia de ferramentas, configure as permissões a seguir no IAM:
IBM Cloud Container Registry
- Leitor: Para puxar a imagem do registro de Container.
- Gravador: Para empurrar a imagem criada para o espaço de nomes de destino.
- Manager: Para criar o espaço de nomes especificado se ele não existir.
- Administrador: para criar um ID de serviço, políticas e uma chave de API necessários para configurar um segredo de registro do Code Engine para usar para o app ou tarefa.
Code Engine
- Editor: Para acessar um projeto Code Engine ou para criar um, se ele não existir.
- Gravador: Para gerenciar apps, empregos e segredos dentro do projeto Code Engine.
Grupo de Recursos:
- Espectador: Para visualizar o grupo de recursos que o projeto Code Engine está localizado em.
Se você quiser que o seu app ligue outro serviço IBM Cloud, você deve definir as seguintes permissões adicionais.
Todos os serviços de Identidade e Acesso ativados
- Administrador: Para criar um ID de serviço, políticas e chave API para configurar um segredo de acesso ao serviço Code Engine, que é usado para manter credenciais de serviço para conectar serviços individuais a um app ou emprego Code Engine.
Criando uma cadeia de ferramentas
Você pode criar uma cadeia de ferramentas a partir da página da cadeia de ferramentas, selecionando Criar cadeia de ferramentas e, em seguida, escolher o modelo Code Engine. Deseja experimentar um tutorial? Veja Desenvolver e implementar um app usando Code Engine.
Code Engine opções em sua cadeia de ferramentas
Você pode definir as seguintes opções para sua cadeia de ferramentas Code Engine editando seu ci-pipeline Configuration e selecionando Propriedades do ambiente.
| Opção | Descrição |
|---|---|
apikey |
A chave API IBM Cloud API que é usada para esta cadeia de ferramentas. |
app-concurrency |
O número máximo de solicitações que podem ser processadas simultaneamente por instância. O valor padrão é 100. |
app-deployment-timeout |
A quantia de tempo, em segundos, que pode transcorrer antes da compilação deve ser aprovada ou reprovada. |
app-health-endpoint |
O terminal de funcionamento do app; por exemplo, /health. |
app-max-scale |
O número máximo de instâncias que podem ser usadas para este aplicativo. Se você configurar esse valor como 0, o aplicativo escalará conforme necessário. O ajuste de escala por parte do aplicativo está limitado apenas pelas
instâncias de acordo com a cota de recursos para o projeto de seu aplicativo. Consulte Limites e cotas para o Code Engine. O valor padrão é 10. |
app-min-scale |
O número mínimo de instâncias que podem ser usadas para este aplicativo. Esta opção é útil para assegurar que nenhuma instância esteja em execução quando não for necessária. Este valor é opcional. O valor padrão é 0. |
app-name |
O nome do aplicativo. Use um nome que seja exclusivo dentro do projeto. |
app-port |
A porta em que o aplicativo escuta as conexões de entrada. O formato é [NAME:]PORT, no qual [NAME:] é opcional. Se [NAME:] for especificado, os valores válidos serão h2c ou http1.
Por padrão, Code Engine pressupõe que os aplicativos escutem as conexões de entrada na porta 8080. |
app-visibility |
A visibilidade para o aplicativo. Os valores válidos são public, private e project. Definir uma visibilidade de public significa que o seu app pode receber solicitações da Internet pública
ou de componentes dentro do projeto do Code Engine. Veja Opções para visibilidade para um aplicativo Code Engine. |
branch |
A ramificação no repositório que contém o arquivo de pacotes de compilação ou o Dockerfile. O valor padrão é main. |
build-size |
O tamanho para a compilação, que determina a quantia de recursos usados. Os valores válidos são small, medium, large, xlarge e xxlarge. Para obter detalhes, consulte Determinando o tamanho da construção. |
build-strategy |
A estratégia a ser usada para construir a imagem. Os valores válidos são dockerfile e buildpacks. |
build-timeout |
O período de tempo, em segundos, que pode passar antes que a execução de construção seja bem-sucedida ou falhe. O padrão é 1200 segundos. |
build-use-native-docker |
Propriedade opcional para opt-in para uso de capacidades de construção Docker nativas em vez da construção Code Engine construir para a contenção da fonte. Você pode selecionar este valor apenas se o build-strategy for configurado
como dockerfile. Os valores válidos são true e false. |
code-engine-project |
O projeto que contém este aplicativo. |
cpu |
A quantia de CPU configurada para a instância do aplicativo. Para valores válidos, consulte Combinações de memória e CPU suportadas. O valor padrão é 1. |
deployment-type |
Especifica o tipo de implementação. Os valores válidos são application e job. |
ephemeral-storage |
A quantia de armazenamento efêmero para configurar para a instância do aplicativo. Use M para megabytes ou G para gigabytes. |
git-token |
O token de acesso para o repositório Git. |
image-name |
O nome da imagem que é usada para este aplicativo. O formato é REGISTRY/NAMESPACE/REPOSITORY:TAG em que REGISTRY e TAG são opcionais. Se REGISTRY não for especificado, o padrão será docker.io.
Se TAG não for especificado, o padrão será latest. |
memory |
A quantia de memória configurada para a instância do aplicativo. Use M para megabytes ou G para gigabytes. Para valores válidos, consulte Combinações de memória e CPU suportadas.
O valor padrão é 4G. |
path-to-context |
O diretório no repositório que contém o arquivo buildpacks ou o Dockerfile. |
path-to-dockerfile |
O caminho para o Dockerfile. Especifique esta opção apenas se o nome for diferente de Dockerfile. |
pipeline-debug |
O modo debug do pipeline. O valor pode ser 0 ou 1. Padrão para 0. |
region |
A região em que o projeto Code Engine está localizado. |
registry-namespace |
O Container de registro de contêineres que armazena a imagem construída. |
registry-region |
A Região de registro do contêiner. |
resource-group |
O grupo de recursos que contém o projeto Code Engine. |
service-bindings |
A ligação de serviço que liga uma instância de serviço IBM Cloud a um aplicativo. Esse valor está no formato "{"<SERVICE_INSTANCE_NAME>": "<BINDING_PREFIX>"}". Por
exemplo, "{"object-store-rg-e": "CLOUD_OBJECT_STORAGE"}. Este valor deve estar em base64. |
Para obter mais opções, consulte as Propriedades do Ambiente para seu pipeline em suas configurações de cadeia de ferramentas
Resolução de problemas da cadeia de ferramentas
Resolva problemas da cadeia de ferramentas do Code Engine com os tópicos a seguir.