快速部署至 AWS 云

为了正常使用这个功能,需要首先完成以下步骤:

  • 安装 IntelliJ IDEA 的 Docker 插件。安装完成后启用。

  • 安装 Docker 引擎

  • 创建 AWS 账号,并确保账号能访问 AWS Console

下面是详细的部署说明:

  1. 按下 Shift+Ctrl/CMD+A 然后在搜索框输入 Jmix Features。双击显示的搜索结果会弹出 Jmix Features 窗口。

  2. 勾选 One-Click Cloud Deployment 复选框,然后点击 OK 按钮。

  3. 然后会在 Jmix 工具窗口 显示 DockerDeployment 部分。

  4. Data Stores 部分配置数据库:

    • 将项目的数据库换成一个非 HSQLDB 的数据库,比如 PostgresSQL。

    • localhost 主机名更换为比如 postgresdb,这个数据库主机名后续会用在 docker-compose 文件中作为数据库服务的名称。

      aws deployment db
  5. 安装必需的驱动。

  6. Jmix Tool Window 右键点击 Docker,然后选择 New → Generate Docker Compose File

  7. 此时会打开 Docker Compose Service 窗口:

    docker compose services dialog1
    • Name - 服务名称。

    • Image - Docker 镜像名。

    • Depends on - 服务之间的依赖关系,支持指定当前服务是否需要等待其他服务准备好后才启动。

  8. 打开 Postgres 标签页:

    docker compose services dialog2
    • Image - Docker 镜像名。

    • Database URL - 主机和数据库名。

    • Root userRoot password - 数据库连接凭证。

    • Folder for saving data - 指定主机上的目录,用于存放数据。

      点击 OK 按钮。

  9. 会在 Jmix Tool WindowDocker 部分生成一个 docker-compose.yaml 文件:

    docker compose file
  10. 点击右上角的 Deploy to AWS,打开 Create AWS Deployment Configuration 弹窗:

    aws deployment configuration
  11. Server 下拉框选择 Create new。会显示 AWS Docker 弹窗:

    aws docker
    • Name - 实例名称。

    • Region - 区域名称。该字段是一个可选区域的下拉列表。通过 这个表格 可以查看列表中可用的区域。建议选择离你最近的区域,以便减少数据传输延迟。

    • Instance type 是实例类型,包含各种不同的资源组合,CPU、内存、硬盘、网络等。这也是一个下拉列表,选项可以在 这个表格 查看。默认值是 t2.micro

    • Access key id - 访问 AWS 账户的用户 id。

    • Secret access key - 访问 AWS 账户的用户密码。

      输入需要的参数,然后点击 OK

  12. 点击 Run 按钮运行选择的配置。Studio 会开始构建并部署应用程序。

  13. 可以在底部的 Services 工具窗口查看部署进度的控制台输出:

    aws services

    成功部署后,可以查看容器的日志。

  14. 在部署执行期间,右下角会显示一个通知,包含应用程序将使用的地址:

    deployment notification

    可以在已经运行的服务的 Deployment 右键菜单中打开应用程序的地址:

    open deploying app

成功部署后,可以在已有的服务器上部署一个新的应用程序容器,不需要重新构建。

首先,在指定服务的 Deployment 右键菜单中点击 Stop 停止服务,然后调用 docker-compose 文件中的 Deploy to AWS,等待部署成功即可。