Alibaba Cloud Toolkit est un plug-in pour IntelliJ IDEA qui permet de déployer des applications directement sur Enterprise Distributed Application Service (EDAS) sans quitter votre IDE. Après avoir développé et testé votre application localement, utilisez le plug-in pour la déployer sur un cluster Container Service for Kubernetes (ACK) géré par EDAS.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Java Development Kit (JDK) 1,8 ou version ultérieure
IntelliJ IDEA 2018.3 ou version ultérieure
Une application déployée dans un cluster ACK. Pour les instructions de configuration, consultez Utiliser une image pour déployer une application de microservices Java dans un cluster Kubernetes
Une paire AccessKey (AccessKey ID et AccessKey Secret) pour votre compte Alibaba Cloud, ou un utilisateur Resource Access Management (RAM) disposant des autorisations de déploiement EDAS
Le serveur de plug-ins JetBrains est hébergé hors de Chine continentale. Si vous ne pouvez pas télécharger le plug-in en raison d'une lenteur du réseau, rejoignez le groupe DingTalk indiqué à la fin de cette rubrique pour obtenir le package d'installation hors ligne auprès du support technique d'Alibaba Cloud Toolkit.
Si vous utilisez un utilisateur RAM, celui-ci doit être synchronisé avec EDAS et autorisé à déployer des applications. Consultez Autoriser un utilisateur RAM pour EDAS pour les instructions de configuration.
Étape 1 : Installer Alibaba Cloud Toolkit
Ouvrez IntelliJ IDEA.
-
Accédez aux paramètres des plug-ins :
macOS : choisissez IntelliJ IDEA > Preferences > Plugins.
Windows : choisissez File > Settings > Plugins.
Dans la zone de recherche, saisissez Alibaba Cloud Toolkit et cliquez sur l'icône de recherche.
-
Cliquez sur Install.


Redémarrez IntelliJ IDEA. Après le redémarrage, l'icône Alibaba Cloud Toolkit
apparaît dans la barre d'outils.
Si le plug-in est déjà installé, mettez-le à jour vers la dernière version via la même page de paramètres Plugins .
Étape 2 : Configurer votre compte Alibaba Cloud
Configurez votre paire AccessKey afin que le plug-in puisse accéder à EDAS en votre nom.
Dans IntelliJ IDEA, choisissez Tools > Alibaba Cloud > Preferences.
Dans le volet de navigation de gauche, choisissez Alibaba Cloud Toolkit > Accounts.
-
Saisissez votre Access Key ID et votre Access Key Secret, puis cliquez sur OK.

Obtenir votre paire AccessKey :
Si vous disposez d'un compte Alibaba Cloud, cliquez sur Get existing AK/SK dans la page Accounts. Connectez-vous et récupérez votre AccessKey ID et votre AccessKey Secret depuis la page de gestion des AccessKey.
Si vous ne possédez pas de compte, cliquez sur Sign up pour en créer un, puis récupérez votre paire AccessKey.
Si vous utilisez un utilisateur RAM, assurez-vous qu'il est autorisé à déployer des applications dans EDAS. Consultez Autoriser un utilisateur RAM pour EDAS pour plus de détails.
Si votre service EDAS s'exécute sur Apsara Stack Enterprise, configurez un endpoint avant de continuer. Consultez Configurer un endpoint pour Apsara Stack Enterprise .
Étape 3 : Déployer votre application
Dans IntelliJ IDEA, choisissez Tools > Alibaba Cloud > Deploy to EDAS > EDAS for Kubernetes Application. Vous pouvez également choisir Run > Edit Configurations. Dans la boîte de dialogue Run/Debug configurations, choisissez Templates > EDAS on Alibaba Cloud > EDAS for Kubernetes Application.
-
Dans l'onglet Settings de la boîte de dialogue Deploy to EDAS, définissez les paramètres suivants :
ImportantSi l'application n'apparaît pas dans la liste, consultez Autoriser un utilisateur RAM pour EDAS.
Paramètre Description Region La région où l'application est déployée. Namespace Le namespace de microservices où l'application est déployée. Application Le nom de l'application. 
-
Sélectionnez une méthode de déploiement :
Méthode Description Maven Build Ajoute une tâche de build Maven pour créer le package de déploiement. Pour les projets multi-modules, consultez Déployer un projet multi-module. Upload File Télécharge un package WAR ou JAR pour le déploiement. Build Image Construit une image de conteneur à partir d'un Dockerfile. Définissez le Context Directory, le chemin du Dockerfile et la Version de l'image. Select Image Déploie à partir d'une image de conteneur existante sélectionnée dans la liste déroulante Select Image. 
-
(Facultatif) Cliquez sur l'onglet Advanced pour configurer des paramètres de déploiement supplémentaires. Pour tous les détails sur les paramètres, consultez la référence API DeployK8sApplication.
Application Environment : définissez l'environnement d'exécution. Spécifiez une nouvelle PackageVersion à chaque déploiement.

Startup Command : spécifiez la commande et les arguments à exécuter au démarrage du conteneur.
Environments : définissez les variables d'environnement pour l'application.
Persistence : configurez les volumes de stockage persistants.

Storage : configurez le stockage local.
-
Application Management : définissez les hooks de cycle de vie et les sondes de santé :
Paramètre Description Poststart Un hook de cycle de vie du conteneur déclenché après la création d'un conteneur. Si le gestionnaire échoue, le conteneur est arrêté et la politique de redémarrage détermine s'il faut le redémarrer. PreStop Un hook de cycle de vie du conteneur déclenché avant la suppression d'un conteneur. Le gestionnaire s'exécute avant que la demande de suppression n'atteigne le daemon Docker. Le daemon envoie un signal SIGTERM quel que soit le résultat du gestionnaire. Liveness Une sonde de santé qui vérifie l'état de l'application. Si l'application n'est pas saine, Kubernetes supprime et recrée le conteneur. Readiness Une sonde de santé qui vérifie si l'application a démarré et s'exécute comme prévu. Si l'application ne peut pas s'exécuter comme prévu, le statut du conteneur est mis à jour.

Cliquez sur Apply, puis sur Run. Vérifiez le journal de déploiement dans l'onglet Console d'IntelliJ IDEA pour confirmer le résultat.
Déployer un projet multi-module
Pour les projets Maven multi-modules, la dernière tâche Maven dans la section Before launch doit compiler le sous-module que vous souhaitez déployer.
Exemple : Le projet CarShop possède la structure suivante :
carshop
├── itemcenter-api
├── itemcenter
├── detail
Les modules itemcenter et detail dépendent tous deux de itemcenter-api. Pour déployer le sous-module itemcenter, ajoutez ces deux tâches Maven à la section Before launch :
Exécutez
mvn clean installdans le projet parentCarShop.Exécutez
mvn clean packagedans le sous-moduleitemcenter.
Gérer les tâches de build Maven
Dans la boîte de dialogue Deploy to EDAS, la section Before launch vous permet de créer, supprimer, modifier et réorganiser les tâches de build Maven.

Dans la boîte de dialogue Select Maven Goal, cliquez sur l'icône de dossier à côté du champ Working directory pour sélectionner un module, puis saisissez la commande de build dans le champ Command line.

Autoriser un utilisateur RAM pour EDAS
Si un utilisateur RAM ne voit pas les applications dans la liste de déploiement, cela signifie qu'il n'est pas synchronisé avec EDAS ou qu'il ne dispose pas des autorisations requises. Choisissez l'une des approches suivantes pour accorder l'accès.
Solution A : Accorder un accès EDAS complet via la console RAM
Cette approche accorde à l'utilisateur RAM l'accès à toutes les ressources EDAS.
Dans la console RAM, choisissez Identities > Users.
Recherchez l'utilisateur RAM et cliquez sur Add Permissions.
Dans la section Select Policy, recherchez et sélectionnez la stratégie AliyunEDASFullAccess, puis cliquez sur OK.
Vérifiez le résumé de l'autorisation et cliquez sur Complete.
Connectez-vous à la console EDASconsole EDAS avec votre compte Alibaba Cloud. Choisissez System Management > RAM User, puis cliquez sur Synchronize RAM User.
Solution B : Accorder un accès EDAS granulaire via la console EDAS
Cette approche accorde à l'utilisateur RAM des autorisations uniquement sur des applications spécifiques.
Connectez-vous à la console EDASconsole EDAS avec votre compte Alibaba Cloud.
Choisissez System Management > Roles et cliquez sur Create Role.
Saisissez un nom de rôle dans le champ Role. Sous Optional Permissions, choisissez Applications > Basic Information > Deploy Application, cliquez sur Add, puis sur OK.
Choisissez System Management > RAM User et cliquez sur Synchronize RAM User.
Recherchez l'utilisateur RAM et cliquez sur Manage Roles. Recherchez le rôle que vous avez créé, sélectionnez-le, ajoutez-le à la section Selected et cliquez sur OK.
Cliquez sur Applications Authorized pour le même utilisateur RAM. Recherchez l'application, sélectionnez-la, ajoutez-la à la section Selected et cliquez sur OK.
Configurer un endpoint pour Apsara Stack Enterprise
Si votre service EDAS s'exécute sur Apsara Stack Enterprise, configurez un endpoint dans Alibaba Cloud Toolkit avant le déploiement. Contactez le support technique EDAS pour obtenir la valeur de l'endpoint.
Dans la boîte de dialogue Preference (Filtered), choisissez Appearance & Behavior > Endpoint.
Saisissez la valeur de l'endpoint et cliquez sur Apply and Close.
Feedback
Si vous avez des questions lors de l'utilisation de l'outil pour déployer des applications, rejoignez le groupe DingTalk (ID du groupe DingTalk : 34556175) pour contacter des experts techniques.