O Compute Nest permite importar repositórios do GitHub, Gitee, GitLab público e Apsara DevOps CodeUp para criar services. Esse recurso ajuda desenvolvedores e fornecedores independentes de software (ISVs) registrados no Compute Nest a reduzir significativamente a complexidade e acelerar a criação de services. Após a criação, é possível testar, atualizar e publicar os services no Alibaba Cloud Marketplace. Este tópico descreve como criar um service utilizando um repositório git.
Pré-requisitos
Crie o repositório git que você deseja utilizar.
Visão geral
Repositórios git permitem criar services do Compute Nest de forma rápida. Para criar um service, basta conceder permissões de acesso ao repositório git, importá-lo para o Compute Nest e realizar as configurações básicas. Os seguintes cenários e configurações são suportados:
As plataformas de hospedagem de código suportadas incluem GitHub, Gitee, GitLab público e Apsara DevOps CodeUp. Conceda permissão de acesso à plataforma adequada e faça o pull do repositório necessário.
-
Diversos cenários de implantação são suportados.
-
Cenários de Private Service e Managed Service
Tipo de service
Definição
Descrição
Service privado
O software e os recursos são implantados nas contas dos clientes.
Ideal para implantar aplicações Platform as a Service (PaaS) e Software as a Service (SaaS) em Virtual Private Clouds (VPCs) dentro das contas dos clientes.
Service totalmente gerenciado
O software e os recursos são implantados nas contas dos provedores de service.
Indicado para implantar aplicações PaaS e SaaS em VPCs nas contas dos provedores de service, que possuem permissões totais para gerenciar os recursos de cloud e as aplicações dos clientes. O Compute Nest permite o uso de recursos exclusivos nos seguintes services: services totalmente gerenciados single-tenant e services totalmente gerenciados implantados em clusters multi-tenant do Container Service for Kubernetes (ACK). Em services single-tenant, os recursos são exclusivos para cada cliente. Já em clusters ACK multi-tenant, os recursos são exclusivos para cada pod.
-
Múltiplos runtimes de aplicação e tipos de implantação
Runtime da aplicação
Tipo de implantação
Parâmetro
Descrição
Container
docker Compose
docker-Compose Yaml File Path
Caminho do arquivo docker Compose em um repositório específico
docker-Compose ENV File Path
Caminho do arquivo .env do docker Compose em um repositório específico. Caso o repositório não possua um arquivo .env, o arquivo .env padrão será utilizado.
Custom Deployment Parameters
Variável de ambiente personalizada, especificada dinamicamente durante a implantação real. Por exemplo, se a variável
Passwordestiver definida como test em um arquivo .env.Especifique os campos Parameter Name, Environment Variable Name, Type e Default Value. Também é possível configurar opções avançadas como Match Expression. Para usar um parâmetro como campo de senha, ative o toggle Password Component. Clique em + Add para adicionar mais parâmetros.
Durante a implantação do service, defina uma senha personalizada para substituir o valor padrão no arquivo .env.
Dockerfile
Dockerfile Path
Caminho do arquivo Dockerfile em um repositório específico.
Custom Deployment Parameters
Chave da variável de ambiente do runtime docker. No comando docker run -e key=value, por exemplo, o parâmetro value especifica o valor real inserido durante a implantação.
Advanced Options: docker Image Build Parameters
Parâmetro usado para construir uma imagem docker. Adequado para cenários onde o recurso multi-stage está habilitado em Dockerfiles e variáveis de ambiente devem ser especificadas antes da construção da imagem.
Custom Deployment Parameters
Chave da variável de ambiente do runtime docker. No comando docker run -e key=value, por exemplo, o parâmetro value especifica o valor real inserido durante a implantação.
Service Port
Porta do service. Após a implantação, o service pode ser acessado via <Endereço IP>:<Porta>.
Inbound Port of Security Group
Porta de entrada do grupo de segurança necessária para acessar o service conforme seu cenário de negócio.
Kubernetes Cluster
Helm Chart
Chart Directory
Diretório onde reside um Helm chart. Selecione o diretório do chart em um repositório ao criar o service.
Chart Values
Usado para configurar variáveis personalizadas para Helm charts. Após especificar o diretório do chart, os valores dos parâmetros personalizados sobrescrevem os valores padrão.
Output Content Type
Tipo de conteúdo de saída, incluindo o conteúdo de um documento que acompanha um Helm chart ou conteúdo personalizado exibido pela execução de comandos.
Linux Shell
SourceCode
Root Directory
Diretório raiz do source code ou da aplicação source. Os comandos são executados neste diretório.
Custom Deployment Parameters
Nome do parâmetro passado dinamicamente em um comando ou script. Substitua o nome do parâmetro pelo nome real durante a implantação do service.
Por exemplo, configure
echo "$PASSWORD"na seção de comandos para referenciar este parâmetro.Commands
Comandos executados na inicialização da aplicação.
Base Image
Imagem base. Selecione uma imagem base CentOS 7.9, Node.js 20 ou docker 26.
Service Port
Porta pela qual a aplicação a ser implantada pode ser acessada.
Inbound Port of Security Group
Porta de entrada definida no grupo de segurança.
Timeout Period
Tempo limite para execução de comandos. Evita desperdício de recursos quando comandos ficam parados por longos períodos.
-
Imagens do Elastic Compute Service (ecs) podem ser gerenciadas e construídas. Falhas ao fazer pull de imagens docker podem ocorrer por diversos motivos na China continental. Para evitar isso, o Compute Nest faz o pull das imagens docker dos repositórios para instâncias ecs através da rede de transmissão da Alibaba Cloud e constrói imagens ecs baseadas nessas imagens docker. As imagens docker são gerenciadas pelo Compute Nest e compartilhadas com sua conta Alibaba Cloud.
Services podem ser atualizados via repositórios de código. Quando um novo commit é feito no repositório, o Compute Nest puxa automaticamente a versão mais recente para atualizar o service relacionado.
Procedimento
Faça login no console do Compute Nest.
No painel de navegação à esquerda, clique em My Services. Na aba Created Services da página My Services, clique em Create Service.
-
Na página Create Service, configure as informações do service.
-
Selecione um método de criação de service e configure as informações do repositório.
Parâmetro
Descrição
Select Service Creation Method
Selecione Quick Launch (From Repository).
Repository User/Organization
Se seus clientes pertencerem a um repositório de organização, escolha entre repositório pessoal ou de organização.
Repository Name
Nome do repositório para o qual você deseja importar seu service.
Repository Branch
Branch do repositório.
Ao especificar uma branch, o Compute Nest detecta automaticamente arquivos de descrição de recursos nela. Só é possível prosseguir se um arquivo de descrição de recursos for detectado.
-
Após selecionar um repositório, a página Basic Information Configuration é exibida. Escolha as configurações específicas conforme suas necessidades de negócio.
Neste exemplo, a aplicação LobeChat é implantada de forma self-hosted usando docker Compose. Selecione os parâmetros correspondentes. Na seção
Custom Deployment Parameters, configure variáveis de ambiente personalizadas no arquivo .env do docker Compose especificado. Esses parâmetros podem ser preenchidos dinamicamente durante a implantação da instância. Clique em Next Step: Basic Information Configuration.A página possui duas seções: Deployment Configuration e Environment Configuration. Em Deployment Configuration, selecione o Service Type (como service privado) e a Service Build Region. Em Environment Configuration, selecione o Application Runtime (como Container) e o Software Deployment Type (como docker Compose) e configure os caminhos dos arquivos.
-
Configure as informações básicas do service.
Item
Descrição
Service Icon
Ícone do service. Formatos JPG e PNG são suportados. Recomendamos enviar uma imagem com resolução de 192 × 192 pixels para melhor clareza.
Service Name
Nome do service. Deve ter entre 3 e 200 caracteres, podendo conter dígitos, letras e underscores (_).
O sistema gera um nome padrão baseado nas informações do repositório. Use o nome padrão ou personalize-o.
Service Description
Descrição do service. Deve ter entre 10 e 500 caracteres.
Version Description
Descrição da versão do service. Deve ter entre 1 e 200 caracteres. Recomendamos incluir informações sobre a versão do software. A descrição de cada versão deve ser única dentro de um service.
Service Agreement Documentation
Nome do documento de acordo de service e URL definida pelo provedor do service.
-
Clique em Create Service. Na mensagem exibida, clique em OK. Após a criação e envio do service, clique em View Service.
Na página My Services, o service estará no estado Creating. Clique em
View Logse aguarde a conclusão da criação. Em caso de falha, um log de erro será reportado. Modifique o repositório e os parâmetros conforme o conteúdo do log. Se BuildService Success aparecer no log, o service foi criado com sucesso.Ao atualizar a página My Services, o service estará no estado Pending Pre-release.
Próximos passos
-
Atualize o service.
Para atualizar o service, clique em
Modify Versionno cartão do service. Na caixa de diálogo Modify Version, selecioneUpdate in ConsoleouUpdate by Synchronized Repositorye clique em OK. Ao escolher Update by Synchronized Repository, o Compute Nest fará um novo pull do repositório do service em segundo plano e reconstruirá o service com base nos arquivos atuais do repositório.A opção Update in Console utiliza uma página visual para atualizações. Após a atualização, a configuração não é sincronizada automaticamente com o repositório.
-
Teste o service.
Após salvar o service, realize testes. Também é possível fazer um pre-release e compartilhar o service com usuários específicos para testes. Para mais informações, consulte Test a service.
-
Publique o service.
Depois que o service passar nos testes, envie-o para revisão. Após a conclusão da revisão, publique o service. Para mais informações, consulte Publish a service.