Os pipelines dependem de um cluster de build para tarefas como compilação e empacotamento de código. O Flow oferece clusters de build públicos gerenciados para iniciar rapidamente seu processo de CI/CD. Você também pode conectar seus próprios recursos de servidor para criar clusters de build auto-hospedados, que proporcionam a flexibilidade necessária para atender a requisitos personalizados em diferentes cenários de negócios.
Comparação entre clusters de build
|
Cluster de build público |
Cluster de build VPC gerenciado |
Cluster de build auto-hospedado |
|
|
Origem da instância |
Alibaba Cloud DevOps |
Alibaba Cloud DevOps |
Usuário |
|
Cobertura de regiões |
China (Beijing), China (Hangzhou), China (Hong Kong) |
China (Shanghai), China (Beijing), China (Shenzhen), China (Hangzhou) |
Depende dos hosts do usuário |
|
Sistema operacional |
Linux |
Linux |
Linux/Windows/macOS |
|
Conexão de rede |
Requer conexão via rede pública para acessar recursos como repositórios de código, imagens, artefatos, hosts cloud e clusters Kubernetes. |
Suporta conexões via rede pública e VPC privada, conforme as configurações de VPC do usuário. |
Depende das configurações de rede do host do usuário. |
|
Elasticidade |
Oferece dimensionamento automático. Cada tarefa de pipeline executada em paralelo conta com um ambiente de contêiner independente. |
Oferece dimensionamento automático. Cada tarefa de pipeline executada em paralelo conta com um ambiente de contêiner independente. |
Sem elasticidade. Tarefas simultâneas podem falhar devido à limitação de recursos do host. |
|
Especificações |
Diversas opções disponíveis: 1 núcleo, 2 núcleos, 4 núcleos, 8 núcleos e 16 núcleos. |
Diversas opções disponíveis: 1 núcleo, 2 núcleos, 4 núcleos, 8 núcleos e 16 núcleos. |
Não configurável. Depende das especificações do host do usuário. |
|
Método de faturamento |
Faturamento por minutos-núcleo de pipeline, com fator de cálculo 1. Exemplo: uma instância de 1 núcleo em execução por 1 minuto consome 1 minuto-núcleo. |
Faturamento por minutos-núcleo de pipeline, com fator de cálculo 0,8. Exemplo: uma instância de 1 núcleo em execução por 1 minuto consome 0,8 minuto-núcleo. |
Não consome minutos-núcleo de pipeline. Instâncias auto-hospedadas não estão disponíveis no plano Basic. |
Clusters de build públicos
O Alibaba Cloud DevOps pré-configura os clusters de build públicos, que se conectam aos seus repositórios de código, artefatos, imagens e outros recursos cloud apenas pela rede pública.
Acesse a página inicial do Flow e escolha . Na página Build Cluster Management, visualize os clusters de build públicos fornecidos pelo Flow: o Singapore build cluster.
Cada tarefa de build recebe um novo ambiente de contêiner, liberado após a conclusão da tarefa.
O ambiente de build aceita URLs personalizadas de imagens de contêiner. O Alibaba Cloud DevOps disponibiliza uma lista de imagens comuns oficiais, ou você pode especificar sua própria imagem como ambiente de execução.
Defina as especificações do ambiente de build. As opções a seguir atendem às necessidades de projetos grandes: SMALL_1C2G (30 GB de espaço em disco), MEDIUM_2C4G (30 GB de espaço em disco), LARGE_4C8G (50 GB de espaço em disco), XLARGE_8C16G (50 GB de espaço em disco) e XXLARGE_16C32G (50 GB de espaço em disco).
curl -s https://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/specified_container_checker/container_checker.sh | sh -s -- <image_url>

Se os services dependentes utilizarem uma lista de permissões, adicione os seguintes endereços IP das instâncias de build do Flow:
|
Endereços IP públicos do servidor Flow |
47.236.202.110, 8.219.58.226 |
|
Endereços IP públicos do cluster de build do Flow em Singapore |
47.236.13.43, 47.245.112.126, 172.30.0.0/16, 172.31.0.0/16, 172.32.0.0/16 |
Clusters de build VPC gerenciados
Um cluster de build VPC gerenciado permite executar tarefas de build dentro da sua Virtual Private Cloud (VPC). Isso possibilita acesso seguro a repositórios de código, artefatos, imagens e outros recursos cloud privados. Todo o processo, desde a obtenção do código até a implantação, ocorre dentro da sua VPC, garantindo segurança dos dados e isolamento de rede.
Clusters de build VPC gerenciados não possuem recursos pré-provisionados e devem ser criados antes do uso.
Este recurso está disponível atualmente nas seguintes regiões: Singapore.
Benefícios de segurança
Para usuários com altos requisitos de segurança de rede, um cluster de build VPC gerenciado oferece os seguintes benefícios:
Anexa uma interface de rede elástica (ENI) da sua VPC à tarefa de build durante a execução.
Utiliza a pilha de rede da sua VPC, habilitando o acesso à rede privada.
Permite acesso direto a recursos internos da VPC, como RDS, ECS e middleware autogerenciado.
Evita a exposição de informações sensíveis na rede pública, aumentando a segurança geral.
Como funciona
Ao criar um cluster de build associado à sua VPC, o Flow anexa uma interface de rede elástica (ENI) da sua VPC quando uma tarefa de build do pipeline é executada. Isso conecta o ambiente de build à sua rede privada. A tarefa utiliza a pilha de rede da VPC, permitindo o acesso a recursos internos como bancos de dados, instâncias ECS e services auto-hospedados. Essa abordagem atende aos requisitos de alta segurança e conectividade de rede privada.
Criar cluster de build VPC gerenciado
Pré-requisitos
Antes de criar um cluster de build VPC gerenciado, prepare os seguintes recursos:
Uma VPC do Alibaba Cloud e um vSwitch correspondente.
Regras de grupo de segurança configuradas.
Sua VPC deve ter acesso à rede pública para que o Flow possa baixar tarefas de build e comandos de agendamento.
Procedimento
-
Crie uma conexão de service VPC.
Acesse a página inicial do Flow e clique em .
Na página Service Connection Management, clique em New Service Connection.
Na caixa de diálogo exibida, selecione Virtual Private Cloud (VPC) como tipo de conexão de service e clique em Next.
-
Configure os seguintes parâmetros:
Insira um Service Connection Name personalizado.
Configure a Service Authorization/Certificate.
Defina o Scope da conexão de service.
Após concluir a configuração, clique em Create.
-
Crie o cluster de build VPC gerenciado.
Após criar a conexão de service, clique em Build Cluster Management no painel de navegação à esquerda.
Alterne para a aba Managed VPC Build Cluster e clique em New Build Cluster.
-
Preencha as informações básicas:
Build Cluster Name: Um nome personalizado.
Tags: Usadas para classificação e identificação.
Visibility: Define se o cluster é público para os membros do projeto.
Members: Especifique os membros ou funções que podem usar este cluster de build.
-
Clique em Next. Na página VPC Association, configure os seguintes parâmetros:
Selecione uma Region. Este recurso está disponível em China (Shanghai), China (Beijing), China (Shenzhen) e China (Hangzhou).
Selecione uma VPC.
Configure um vSwitch e um security group.
Certifique-se de que a VPC selecionada tenha acesso ao site do Alibaba Cloud DevOps, repositórios de código, artefatos, imagens e outros recursos cloud.
Após concluir a configuração, clique em Save.
-
Use e verifique o cluster.
Depois de criar o cluster, selecione-o como ambiente de execução para tarefas de build no seu pipeline. Se a alocação do ambiente travar, verifique os itens a seguir:
Se a VPC possui acesso à rede pública.
Se o grupo de segurança permite o tráfego de saída necessário.
Se a conexão de service e a autorização RAM estão corretas e válidas.
Usar o cluster de build
No editor de pipeline, altere a opção "Build Cluster" nas configurações da tarefa para o cluster de build VPC recém-criado. Salve e execute o pipeline. O Flow atribui automaticamente um novo ambiente de build para a tarefa e o conecta à VPC associada para concluir o build e a implantação.
Os clusters de build VPC gerenciados utilizam recursos de computação do Alibaba Cloud DevOps, portanto, seu uso é faturado com base em minutos-núcleo.
Clusters de build auto-hospedados
Caso tenha requisitos especiais para o ambiente de build, o Flow permite conectar suas próprias máquinas como um cluster de build auto-hospedado. Utilize instâncias ECS do Alibaba Cloud ou outros hosts. O Flow emprega builds conteinerizados e agenda tarefas de pipeline aleatoriamente para uma instância no cluster auto-hospedado, onde são executadas em um ambiente de contêiner adequado.
Pré-requisitos
Certifique-se de que seu host atenda aos seguintes requisitos:
-
O host deve ter acesso à rede pública.
Isso é necessário para callbacks de instalação do Runner, download de dependências de tarefas de build e outras operações de callback.
-
O sistema operacional e a arquitetura do host devem atender aos seguintes requisitos:
Linux
Distribuições Linux suportadas: CentOS 6+, Ubuntu 16.04+ e Alibaba Cloud Linux 2/3.
Arquitetura: Suporta as arquiteturas Linux/amd64 e Linux/arm64.
Ambiente de build: Suporta o Default VM environment.
Configuração recomendada: 4 núcleos e 8 GB ou superior.
Windows
Versões do Windows suportadas: Windows 2012, Windows 2016, Windows 2019 e Windows 2022.
Arquitetura: Suporta a arquitetura Windows/amd64.
Ambiente de build: Suporta o Default VM Environment.
macOS
Versões do macOS suportadas: macOS Sonoma (14,0), macOS Ventura (13,0) e macOS Monterey (12,0).
Arquitetura: Suporta as arquiteturas macOS/amd64 e macOS/arm64.
Ambiente de build: Suporta o Default VM Environment.
Criar cluster de build auto-hospedado
Acesse a página inicial do Flow.
Escolha para acessar a aba Self-hosted build cluster.
Clique em New Build Cluster. Insira um Build Cluster Name e Tags, depois configure a Visibility e os Members com permissão para usar este cluster.
Ao terminar, clique em OK para criar o cluster de build.
Conectar um novo nó
Acesse a página inicial do Flow.
Escolha para acessar a aba Self-hosted build cluster.
Localize o cluster de build desejado e abra sua página de detalhes. Em seguida, clique em Add New Node.
Linux instance
Conecte uma instância Linux usando um dos seguintes métodos: Install Runner Manually.
-
Install Runner Manually: Copie o comando de instalação do Runner e execute-o na máquina de destino. Após a instalação bem-sucedida, a máquina é adicionada automaticamente ao cluster. Atualize a lista de hosts para visualizá-la.
@props:china Na caixa de diálogo Add New Node, selecione o tipo de sistema operacional (por exemplo, Linux). Verifique os pré-requisitos conforme solicitado, copie o comando de instalação e execute-o no host. Observe que o comando de instalação tem um período de validade (contagem regressiva de aproximadamente 15 minutos). Se expirar, obtenha um novo comando. @/props

Após executar o comando de instalação, o terminal exibe o log completo da instalação. Quando o log mostrar
service startedeservice status running, o Runner foi instalado e iniciado com sucesso. Exemplo de saída:[INFO] arch=x86_64 [INFO] version=v0.0.6 [INFO] pkg_endpoint=http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com [INFO] tenant=be-yxctbiii2ml4aydisrlfozvk [INFO] register_token=VoiMCHPXXrdfSsxmxmUu [INFO] wonder_endpoint=https://gray-devops-build.aliyuncs.com [INFO] scan_interval=5 [INFO] concurrency=50 [INFO] runner_group_uuid=HY8UhW1PmS2hpw27 [INFO] install yunxiao-runner v0.0.6 [INFO] download yunxiao-runner from http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/runner-v0.0.6-linux-amd64.tar.gz [INFO] wget -t 3 -O /tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/runner-v0.0.6-linux-amd64.tar.gz --2023-03-13 13:08:26-- http://agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com/runner-v0.0.6-linux-amd64.tar.gz Resolving agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com (agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com)... 59.110.185.37 Connecting to agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com (agent-install-cn-beijing.oss-cn-beijing.aliyuncs.com)|59.110.185.37|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 13453535 (13M) [application/x-gzip] Saving to: '/tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz' /tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64. 100%[====>] 12.83M --.-KB/s in 0.1s 2023-03-13 13:08:27 (91.7 MB/s) - '/tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz' saved [13453535/13453535] [INFO] unpack downloaded package [INFO] tar -xvzf /tmp/aliyun/yunxiao/runner/runner-v0.0.6-linux-amd64.tar.gz -C /usr/local/share/yunxiao-runner ./ ./v0.0.6/ ./v0.0.6/runner [INFO] register tenant runner [INFO] /usr/local/share/yunxiao/v0.0.6/runner register --url https://gray-devops-build.aliyuncs.com --token VoiMCHPXXrdfSsxmxmUu --tenant=be-yxctbiii2ml4aydisrlfozvk --workspace /root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner --scanInterval 5 --concurrency 50 --configPath /root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner/config --runnerGroupUUID=HY8UhW1PmS2hpw27 --autoUpgrade=true INFO[2023-03-13T13:08:27+08:00] [Register] options: {"URL":"https://gray-devops-build.aliyuncs.com","Token":"VoiMCHPXXrdfSsxmxmUu","Tenant":"be-yxctbiii2ml4aydisrlfozvk","Workspace":"/root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner","ScanInterval":5,"Concurrency":50,"RunnerGroupUUID":"HY8UhW1PmS2hpw27","ConfigPath":"/root/yunxiao/be-yxctbiii2ml4aydisrlfozvk/runner/config","InstanceId":"","InstanceName":"","AutoUpgrade":true,"UpgradeInterval":1200} INFO[2023-03-13T13:08:27+08:00] Runner config file not exists, generating... INFO[2023-03-13T13:08:27+08:00] bind to HY8UhW1PmS2hpw27 INFO[2023-03-13T13:08:27+08:00] POST /api/v2/runner/register, time spent 0.19 s INFO[2023-03-13T13:08:27+08:00] register runner=a64e87f067fd496b9c946db45f2a144f INFO[2023-03-13T13:08:27+08:00] Runner register success. [INFO] install runner system service [INFO] /usr/local/share/yunxiao/v0.0.6/runner install --tenant=be-yxctbiii2ml4aydisrlfozvk INFO[2023-03-13T13:08:27+08:00] service type linux-systemd INFO[2023-03-13T13:08:27+08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service,linux-systemd installed [INFO] start runner service [INFO] /usr/local/share/yunxiao/v0.0.6/runner start --tenant=be-yxctbiii2ml4aydisrlfozvk INFO[2023-03-13T13:08:27+08:00] service type linux-systemd INFO[2023-03-13T13:08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service started INFO[2023-03-13T13:08:00] Aliyun yunxiao runner-v0.0.6-be-yxctbiii2ml4aydisrlfozvk service status running [root@iZ2zecoxyny4bhymwfvdjmZ ~]#
Windows instance
Conecte uma instância Windows usando um dos seguintes métodos: Install Runner Manually.
-
Install Runner Manually: No host Windows, abra o powershell como administrador e execute o comando de instalação do Runner. Após a instalação bem-sucedida, a máquina é adicionada automaticamente ao cluster. Atualize a lista de hosts para visualizá-la.

macOS instance
Conecte uma instância macOS usando o método Install Runner Manually. No host macOS, copie o comando de instalação do Runner e execute-o. Após a instalação bem-sucedida do Runner, a nova máquina é adicionada automaticamente ao cluster atual. Atualize a lista de hosts para visualizá-la.
Antes de executar o comando de instalação, verifique se a configuração do nó atende aos pré-requisitos. O comando de instalação possui um período de validade. Se expirar, obtenha um novo comando.
Gerenciamento de cluster de build
Acesse , localize o cluster de build desejado e abra sua página de detalhes.
Visualize a lista de hosts do cluster de build. A lista exibe informações como ID da instância, endereço IP, nome do host, SO/arquitetura, uso, status do Runner e progresso da instalação.
Reinstalar Runner: Reinstale o Runner caso o status esteja anormal.
Remover Nó: Esta ação apenas desvincula o nó do cluster de build atual. Ela não exclui a máquina física nem desinstala o Runner.
Configurações do Cluster: Modifique o nome, as tags e outras configurações do cluster de build.
Excluir Cluster: Esta ação desvincula os nós e exclui os dados do cluster. Ela não exclui as máquinas físicas nem desinstala os Runners.
Usar cluster de build auto-hospedado
No editor de pipeline, selecione o cluster de build auto-hospedado criado pela sua empresa. Durante a execução do pipeline, as tarefas são agendadas aleatoriamente para uma instância de build, e o ambiente de contêiner correspondente é iniciado para execução. A duração do build e as tarefas simultâneas em um cluster auto-hospedado não consomem a cota de build da sua empresa.
Ao usar um cluster de build auto-hospedado, o ambiente de build fica alocado para você durante toda a execução da tarefa. Você tem controle total sobre o ambiente e pode personalizar seus scripts de execução.