您在本地完成应用的开发、调试和测试后,可以在 IntelliJ IDEA 中安装 Cloud Toolkit 插件实现 EDAS 应用的快速部署。本文档将介绍如何在 IntelliJ IDEA 中安装 Cloud Toolkit,并快速部署应用到容器服务 K8s 集群。

前提条件

步骤一:安装 Cloud Toolkit

  1. 启动 IntelliJ IDEA。
  2. 在 IntelliJ IDEA 中安装最新版本的插件。
    如您之前已安装过旧版安装包,请升级至最新版本。
    • Mac 系统:进入 Preference 配置页面,选择左边的 Plugins,在右边的搜索框里输入 Alibaba Cloud Toolkit ,并单击 Install安装。Install-Intellij-Idea-MAC-20190722.png
    • Windows 系统:在左侧导航栏选择 Plugins,搜索 Alibaba Cloud Toolkit,并单击 Install 安装。edas-cloudtoolkit-installconfig-Windows-20190722.png
  3. 在 IntelliJ IDEA 中插件安装成功后,重启 IntelliJ IDEA,您可以在工具栏看到 Alibaba Cloud Toolkit 的图标(act图标)。

步骤二:配置 Cloud Toolkit 账号

在安装完 Alibaba Cloud Toolkit 后,您需使用 Access Key ID 和 Access Key Secret 来配置 Cloud Toolkit 的账号。

  1. 启动 IntelliJ IDEA。
  2. 单击 Alibaba Cloud Toolkit 的图标(act图标),在下拉列表中单击 Preference…,进入设置页面,在左侧导航栏选择 Alibaba Cloud Toolkit > Accounts
  3. Accounts 界面中设置 Access Key IDAccess Key Secret,然后单击 OK
    • 如果您使用子账号的 Access Key ID 和 Access Key Secret,请确认该子账号至少拥有部署应用的权限,具体操作方法请参见常见问题中的应用列表获取不到应用。
    • 如果您是 EDAS 专有云企业版用户,还需配置 Endpoint 才能正常使用 Cloud Toolkit 功能。Config-Idea-Cloud-Toolkit-Account.png
      • 如果您已经注册过阿里云账号,在 Accounts 界面中单击 Get existing AK/SK,进入阿里云登录页面。用已有账号登录后,跳转至安全信息管理页面,获取 Access Key IDAccess Key Secret
      • 如果您还没有阿里云账号,在 Accounts 界面中单击 Sign up,进入阿里云账号注册页面,注册账号。注册完成后按照上述方式获取 Access Key IDAccess Key Secret

步骤三:部署应用到容器服务 K8s 集群

  1. 在 IntelliJ IDEA 上单击 Cloud Toolkit 的图标(act图标),在下拉列表中选择Deploy to EDAS > EDAS for Kubernetes Application
    您也可以在 IntelliJ IDEA 上打开 Run/Debug configurations 对话框,展开 Templates选项,选择 EDAS on Alibaba Cloud > EDAS for Kubernetes Application
  2. Deploy to EDAS 对话框配置应用部署参数。
    edas-cloudtoolkit-installK8sApp-Windows-20190722.png
    1. 在配置页面中根据您的实际需求选择应用的 RegionNamespaceApplication
      注意 如果在应用列表中获取不到应用,请参见常见问题中的应用列表获取不到应用进行操作排查。
      • Region:应用所在地域。
      • Namespace:应用所在命名空间。
      • Application:应用名称。
    2. 设置部署方式,可选的部署方式由您在控制台第一次部署的方式决定。
      • Maven Build:选择 Maven Build 方式来构建应用时,系统会默认添加一个 Maven 任务来构建部署包。
        说明 如果您想部署多模块工程,请参见部署多模块工程
      • Upload File:选择 Upload File 方式来构建应用时,选择上传您的 WAR 包或者 JAR 包,然后进行部署。
      • Build Image:选择 Build Image 方式来构建应用时,需要依次输入工作目录 Content Directory,文件路径 Dockerfile 和镜像标签 Versionedas-cloudtoolkit-installK8sApp-BuildImage-20190722
      • Select Image:选择 Build Image 方式来构建应用时,可在 Select Image 的下拉列表选择需要部署的镜像。
    3. 单击 Advanced 进入高级部署参数设置页签,并配置 Application EnvironmentStartup CommandEnvironmentsPersistenceStorage Appcalition Management 等参数。
  3. 单击 Run,IntelliJ IDEA 的 Console 区域会打印部署日志。您可以根据日志信息检查部署结果。

部署多模块工程

实际工作中碰到的大部分 Maven 工程都是多模块的,各个项目模块可以独立开发,其中某些模块又可能会使用到其他的一些模块的功能,这样的项目工程就是多模块工程。

如果您的工程项目为 Maven 多模块工程并且想部署工程中的某子模块,那么需要保证 EDAS Deployment Configurations 页面中的 Before launch 中的 Maven 构建任务中最后一个任务为该子模块的构建任务。管理 Maven 构建任务的具体操作请参见Maven 构建任务的管理

例如:一个 CarShop 工程存在以下示例的子模块。

carshop
├── itemcenter-api       
├── itemcenter    
├── detail      

其中 itemcenter 和 detail 为子模块,且都依赖于 itemcenter-api 模块,现在想部署 itemcenter 模块,应该怎么做?只需要在配置页面中的 Before launch 中增加如下两个 Maven 任务。

  • 增加一个在父工程 carshop 中执行 mvn clean install 的 Maven 任务。
  • 增加一个在子模块 itemcenter 中执行 mvn clean package Maven 任务。

Maven 构建任务的管理

在 IntelliJ IDEA 中安装的 Cloud Toolkit 内可以部署 Maven 的构建任务。您也可以在 Deploy to EDAS 的配置页面的 Before launch 区域来添加、删除、修改和移动 Maven 构建任务。

edas-cloudtoolkit-idea-manage-APP.png

在添加 Maven 构建任务编辑框中,您可以单击右侧的文件夹按钮选择当前工程的所有可用模块,并在 Command line 中编辑构建命令。

add-maven-in-Intellij-Idea.png

常见问题

  • 应用列表获取不到应用

    通常出现这种情况为使用子账号来部署应用,且子账号没有同步到 EDAS 系统或者没有进行正确授权,从而导致在应用列表下拉框中看不到应用。您可以通过 RAM 授权或 EDAS 子账号授权来确保子账号已经同步到 EDAS 并且得到授权。

    • RAM 授权

      该授权方式可使子账号访问 EDAS 的所有资源。

      1. RAM 控制台左侧导航栏中选择人员管理 > 用户
      2. 用户页面上找到需要授权的子用户,单击操作列中的添加权限
      3. 添加权限面板的选择权限区域中,搜索 AliyunEDASFullAccess 权限,单击权限策略将其添加至右侧的已选择列表中,然后单击确定
      4. 添加权限授权结果页面上,查看授权信息摘要,并单击完成
      5. 使用主账号登录 EDAS 控制台,在左侧导航栏选择系统管理 > 子账号,单击子账号页面右上角的同步子账号
    • EDAS 子账号授权

      该授权方式可使子账号细粒度授权访问 EDAS 的资源。

      1. 使用主账号登录 EDAS 控制台
      2. 在左侧导航栏选择系统管理 > 角色 ,单击角色页面右上角的创建角色
      3. 输入一个角色名称,在可选权限区域框中,选择应用管理 > 应用列表 > 基本信息 > 部署应用,单击添加将部署应用角色添加到已选权限,然后单击确定
      4. 在左侧导航栏选择系统管理 > 子账号,单击子账号页面右上角的同步子账号
      5. 选择需进行授权的子账号,在操作列单击管理角色,在左侧穿梭狂中搜索并选择上面创建的角色,将该角色添加到右侧已选角色列表中,然后单击确定
      6. 选择需进行授权的子账号,在操作列单击授权应用,选择应用添加到右侧列表进行授权,然后单击确定
  • 配置 Endpoint
    说明 如果使用 EDAS 专有云企业版,还需要按以下步骤在 Cloud Toolkit 中配置 Endpoint。Endpoint 请联系 EDAS 技术支持获取。
    1. Preference (Filtered) 对话框的左侧导航栏中选择 Appearance & BehaviorEndpoint
    2. Endpoint 界面中设置 Endpoint,配置完成后,单击 Apply and Close

问题反馈

如果您在使用工具部署应用的过程中有任何疑问,欢迎您扫描下面的二维码加入钉钉群进行反馈。

工具部署答疑群