O Alibaba Cloud Toolkit é um plug-in para IntelliJ IDEA que permite implantar aplicativos diretamente no Enterprise Distributed Application Service (EDAS) sem sair da IDE. Após desenvolver e testar o aplicativo localmente, use o plug-in para implantá-lo em um cluster do Container Service for Kubernetes (ACK) gerenciado pelo EDAS.
Pré-requisitos
Antes de começar, verifique se você tem:
Java Development Kit (JDK) 1.8 ou superior
IntelliJ IDEA 2018.3 ou superior
Um aplicativo implantado em um cluster ACK. Para instruções de configuração, consulte Usar uma imagem para implantar um aplicativo de microsserviços Java em um cluster Kubernetes
Um par de AccessKey (AccessKey ID e AccessKey secret) da sua conta Alibaba Cloud ou de um usuário do Resource Access Management (RAM) com permissões de implantação no EDAS
O servidor de plug-ins da JetBrains está localizado fora da China continental. Se não conseguir baixar o plug-in devido à lentidão da rede, entre no grupo do DingTalk indicado ao final deste tópico para obter o pacote de instalação offline com o suporte técnico do Alibaba Cloud Toolkit.
Se utilizar um usuário RAM, sincronize-o com o EDAS e autorize-o a implantar aplicativos. Consulte Autorizar um usuário RAM para o EDAS para obter as instruções de configuração.
Etapa 1: Instalar o Alibaba Cloud Toolkit
Abra o IntelliJ IDEA.
-
Acesse as configurações de plug-ins:
macOS: Selecione IntelliJ IDEA > Preferences > Plugins.
Windows: Selecione File > Settings > Plugins.
Na caixa de pesquisa, insira Alibaba Cloud Toolkit e clique em no ícone de busca.
-
Clique em Install.


Reinicie o IntelliJ IDEA. Após a reinicialização, o ícone do Alibaba Cloud Toolkit
aparecerá na barra de ferramentas.
Se já tiver o plug-in instalado, atualize-o para a versão mais recente na mesma página de configurações de Plugins .
Etapa 2: Configurar sua conta Alibaba Cloud
Configure seu par de AccessKey para que o plug-in possa acessar o EDAS em seu nome.
No IntelliJ IDEA, selecione Tools > Alibaba Cloud > Preferences.
No painel de navegação à esquerda, selecione Alibaba Cloud Toolkit > Accounts.
-
Insira seu Access Key ID e Access Key Secret, e clique em OK.

Obter seu par de AccessKey:
Se já possui uma conta Alibaba Cloud, clique em Get existing AK/SK na página Accounts. Faça login e recupere seu AccessKey ID e AccessKey secret na página de gerenciamento de AccessKey.
Se não tiver uma conta, clique em Sign up para criar uma e obtenha seu par de AccessKey.
Se estiver utilizando um usuário RAM, certifique-se de que ele tenha autorização para implantar aplicativos no EDAS. Consulte Autorizar um usuário RAM para o EDAS para mais detalhes.
Se o serviço EDAS for executado no Apsara Stack Enterprise, configure um endpoint antes de prosseguir. Consulte Configurar um endpoint para o Apsara Stack Enterprise .
Etapa 3: Implantar seu aplicativo
No IntelliJ IDEA, selecione Tools > Alibaba Cloud > Deploy to EDAS > EDAS for Kubernetes Application. Como alternativa, selecione Run > Edit Configurations. Na caixa de diálogo Run/Debug configurations, selecione Templates > EDAS on Alibaba Cloud > EDAS for Kubernetes Application.
-
Na aba Settings da caixa de diálogo Deploy to EDAS, defina os seguintes parâmetros:
ImportanteSe o aplicativo não aparecer na lista, consulte Autorizar um usuário RAM para o EDAS.
Parâmetro
Descrição
Region
Região onde o aplicativo será implantado.
Namespace
Namespace de microsserviços destinado à implantação do aplicativo.
Application
Nome do aplicativo.

-
Selecione um método de implantação:
Método
Descrição
Maven Build
Adiciona um job de build Maven para criar o pacote de implantação. Para projetos multimódulo, consulte Implantar um projeto multimódulo.
Upload File
Faz upload de um pacote WAR ou JAR para implantação.
Build Image
Cria uma imagem de contêiner a partir de um Dockerfile. Defina o Context Directory, o caminho do Dockerfile e a Version da imagem.
Select Image
Implanta a partir de uma imagem de contêiner existente, selecionada na lista suspensa Select Image.

-
(Opcional) Clique em na aba Advanced para configurar parâmetros adicionais de implantação. Para obter detalhes completos sobre os parâmetros, consulte a referência da API DeployK8sApplication.
Application Environment: Define o ambiente de execução. Especifique uma nova PackageVersion sempre que implantar.

Startup Command: Especifica o comando e os argumentos executados na inicialização do contêiner.
Environments: Define variáveis de ambiente para o aplicativo.
Persistence: Configura volumes de armazenamento persistente.

Storage: Configura o armazenamento local.
-
Application Management: Define hooks de ciclo de vida e sondas de integridade:
Configuração
Descrição
Poststart
Um hook de ciclo de vida do contêiner acionado após a criação do contêiner. Se o handler falhar, o contêiner será interrompido e a política de reinicialização determinará se ele deve ser reiniciado.
PreStop
Um hook de ciclo de vida do contêiner acionado antes da exclusão do contêiner. O handler é executado antes que a solicitação de exclusão chegue ao daemon do docker. O daemon envia um sinal SIGTERM independentemente do resultado do handler.
Liveness
Uma sonda de integridade que verifica a integridade do aplicativo. Se não estiver íntegro, o Kubernetes exclui e recria o contêiner.
Readiness
Uma sonda de integridade que verifica se o aplicativo foi iniciado e está funcionando conforme o esperado. Caso o aplicativo não consiga executar como esperado, o status do contêiner é atualizado.

Clique em Apply e, em seguida, clique em Run. Verifique o log de implantação na aba Console do IntelliJ IDEA para confirmar o resultado.
Implantar um projeto multimódulo
Para projetos Maven multimódulo, o último job Maven na seção Before launch deve compilar o submódulo que você deseja implantar.
Exemplo: O projeto CarShop tem a seguinte estrutura:
carshop
├── itemcenter-api
├── itemcenter
├── detail
Tanto itemcenter quanto detail dependem de itemcenter-api. Para implantar o submódulo itemcenter, adicione estes dois jobs Maven à seção Before launch:
Execute
mvn clean installno projeto paiCarShop.Execute
mvn clean packageno submóduloitemcenter.
Gerenciar jobs de build Maven
Na caixa de diálogo Deploy to EDAS, a seção Before launch permite criar, excluir, modificar e reordenar jobs de build Maven.

Na caixa de diálogo Select Maven Goal, clique em no ícone de pasta ao lado do campo Working directory para selecionar um módulo e insira o comando de build no campo Command line.

Autorizar um usuário RAM para o EDAS
Se um usuário RAM não conseguir visualizar aplicativos na lista de implantação, ele não está sincronizado com o EDAS ou não tem as permissões necessárias. Escolha uma das abordagens abaixo para conceder acesso.
Solução A: Conceder acesso total ao EDAS pelo console RAM
Esta abordagem concede ao usuário RAM acesso a todos os recursos do EDAS.
No console RAM, selecione Identities > Users.
Localize o usuário RAM e clique em Add Permissions.
Na seção Select Policy, pesquise e selecione a política AliyunEDASFullAccess, e clique em OK.
Revise o resumo da autorização e clique em Complete.
Faça login no console EDASconsole EDAS com sua conta Alibaba Cloud. Selecione System Management > RAM User e clique em Synchronize RAM User.
Solução B: Conceder acesso granular ao EDAS pelo console EDAS
Esta abordagem concede ao usuário RAM permissões apenas para aplicativos específicos.
Faça login no console EDASconsole EDAS com sua conta Alibaba Cloud.
Selecione System Management > Roles e clique em Create Role.
Insira um nome de função no campo Role. Em Optional Permissions, selecione Applications > Basic Information > Deploy Application, clique em Add e, em seguida, clique em OK.
Selecione System Management > RAM User e clique em Synchronize RAM User.
Localize o usuário RAM e clique em Manage Roles. Pesquise a função criada, selecione-a, adicione-a à seção Selected e clique em OK.
Clique em Applications Authorized para o mesmo usuário RAM. Pesquise o aplicativo, selecione-o, adicione-o à seção Selected e clique em OK.
Configurar um endpoint para o Apsara Stack Enterprise
Se o serviço EDAS for executado no Apsara Stack Enterprise, configure um endpoint no Alibaba Cloud Toolkit antes de implantar. Entre em contato com o suporte técnico do EDAS para obter o valor do endpoint.
Na caixa de diálogo Preference (Filtered), selecione Appearance & Behavior > Endpoint.
Insira o valor do endpoint e clique em Apply and Close.
Feedback
Se tiver dúvidas ao usar a ferramenta para implantar aplicativos, entre no grupo do DingTalk (ID do grupo DingTalk: 34.556.175) para consultar especialistas técnicos.