# 通过部署服务创建Tomcat应用并部署到ECS
部署服务为用户提供可视化、自动化且丰富的部署步骤，有助于用户制定标准的部署流程，降低部署成本，提升发布效率。
本节选择在主机部署场景下，以最常用到的**"Tomcat应用部署"**为例，实现在主机上部署Tomcat应用。下面将对部署服务的操作步骤进行说明，以帮助您快速上手部署操作。
#### 准备工作
- 已有可用项目，如果没有，请先创建项目，参考[新建 CodeArts 项目](https://support.huaweicloud.com/usermanual-devcloud/codearts_01_0027.html)。
- 具有创建应用的权限，参考[配置CodeArts Deploy应用不同角色的管理权限](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_0035.html)。
- 已经编译完成的软件包。
- 在**"选择部署来源"** 步骤时，有**"制品仓库"** 和**"构建任务"** 两个选项。由于本例中选择的是**"制品仓库"** ，所以应该提前准备好已编译完成的软件包。如果选择**"构建任务"**，则不需要准备软件包。
- 已拥有ECS云主机（如果没有，请参考[购买弹性云服务器](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)完成购买，过程中可能产生费用，详情可参考[ECS计费说明](https://support.huaweicloud.com/price-ecs/ecs_billing_0000.html)）。
 
#### 创建主机集群并添加主机
1. [登录华为云控制台页面](https://console.huaweicloud.com/console)，单击"前往工作台"。
2. 进入CodeArts首页，单击目标项目名称，进入项目。
3. 进入基础资源管理。 
   - 单击菜单**"设置 \> 通用设置 \> 基础资源管理"** ，默认进入**"主机集群"**页面。
   
   - 或单击菜单**"持续交付 \> 部署"** ，进入项目下部署服务界面。单击**"基础资源管理"** 默认进入**"主机集群"**页面。
   
   
   
   
4. 创建主机集群并添加主机。 
   1. 单击**"新建主机集群"** ，填写以下信息后，单击**"保存"** ，完成主机集群的创建。
      表1新建主机集群参数说明 
      | 参数项    | 是否必填 | 说明                                                                                                                                                                                                                              |
      |:---|:---|:---|
      | 集群名称   | 是    | 请输入自定义的主机集群名称。 仅支持3-128位数字、中文、英文字母或-_.符号。 示例：主机集群A。                                                                                                     |
      | 操作系统     | 是   | 根据即将添加主机的操作系统，选择**"Linux"** 或**"Windows"**。 本次操作请选择**"Linux"**。                                                                                                                               |
      | 主机连通方式 | 是    | 如果您部署的目标主机无法连接到公网，则需要您选取绑有EIP的主机作为代理主机，实现CodeArts Deploy到目标主机的网络连通。 直连模式：选取绑有EIP的主机作为目标主机，实现与CodeArts的直接连通。 代理模式：选取绑有EIP的主机作为代理主机，实现CodeArts到目标主机的网络连通。 |
      | 执行主机    | 是    | 资源池是部署软件包时执行部署命令的物理环境的集合，本场景执行主机采用**"默认资源池"**。                                                                                                                                                                                   |
      | 描述     | 否       | 请输入对主机集群的描述。 长度限制：0-500字符。                                                                                                                                                                 |
         
      
   
   2. （以Linux系统目标主机为例）单击**"添加或导入主机"** ，**"** **选择添加方式** **"** 选择**"** **通过IP手动添加** **"** ，填写以下信息后，单击**"确定"** ，完成目标主机的创建。
      表2Linux系统目标主机参数说明 
      | 参数项             | 是否必填  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      |:---|:---|:---|
      | 主机名             | 是 | 请输入自定义的目标主机名称。 仅支持3-128位数字、中文、英文字母或-_.符号。                                                                                                                                                                                                                                                                                                                                                         |
      | IP                | 是    | 请输入目标主机的私有IP地址或公网IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                |
      | 操作系统            | 是    | 不可更改，默认为当前主机集群的操作系统。                                                                                                                                                                                                                                                                                                                                                                                                                  |
      | 认证方式              | 是   | 请根据实际情况选择**"密码"** 或**"密钥"**进行认证。 - 密码：页面显示**"用户名** **"** 与**"密码"**。以ECS为例，输入的是ECS的用户名及密码。  - 密钥：页面显示**"用户名"** 与**"密钥"** 。密钥的生成与获取方式请参考[获取Linux密钥](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_1101.html#section4)。   |
      | SSH端口           | 是   | 推荐使用22端口，支持自定义端口。 正确的端口格式：1-65535                                                                                                                                                                                                                                                                                                                                                                |
      | 安装AOM-ICAgent复选框 | 否    | 若勾选该选项，可免费在主机上安装并使用AOM-ICAgent，实现指标监控、日志查询、告警功能。其中，ICAgent仅限华为云Linux主机，安装前请参照[创建委托](https://support.huaweicloud.com/usermanual-iam/iam_06_0002.html)配置委托。                                                                                                                                                                                                                                                                              |
         
      
   
   3. 单击某个主机操作列的![](https://support.huaweicloud.com/qs-deployman/zh-cn_image_0000001950126042.png)图标，即可启动该主机进行连通性验证操作。
      关于连通性验证问题，请参考[主机管理常见问题](https://support.huaweicloud.com/deployman_faq/deployman_faq_0000.html)排查。
      
   
   
   
   
 
#### 创建应用
1. 单击菜单**"** **持续交付 \> 部署** **"**，进入项目下部署服务界面。

2. 新建部署应用。 
   1. 单击**"** **新建应用** **"** ，进入**"基本信息"** 页面，可根据需要修改名称、描述、执行主机等基本信息。详情参考[表3 参数说明]。
       表3参数说明 
      | 参数项     | 是否必填 | 说明                                                                                                                                                                                                                                                                                                                                           |
      |:---|:---|:---|
      | 名称       | 是    | 填写应用的名称。 仅支持中英文，数字，"-"和"_"符号，至少3个字符，最多128个字符。                                                                                                                                                                                                                              |
      | 所属项目     | 是   | 默认。该应用的归属项目。如果账号下没有项目请您在项目选择框中选择"**新建项目** "会先弹出"新建项目"页面，这时建立的项目是**Scrum**。                                                                                                                                                                                                                                                                      |
      | 描述     | 否    | 填写对应用的描述，最多1024个字符。                                                                                                                                                                                                                                                                                                                            |
      | 执行主机   | 是    | 默认选择"默认资源池"。资源池是部署软件包时执行部署命令的物理环境的集合，您可以使用华为云托管的**默认资源池** ，您也可以将自有的服务器作为**自定义资源池** 托管到华为云，托管方式请参考[创建自定义资源池](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_1082.html)。 **注意：** 如果租户账号已配置**"全内网安全访问"** 功能（仅限白名单用户使用），则**"执行主机"** 功能默认选择**"自定义资源池"**且不可更改。 |
      | 来自流水线 | 否    | 开启后，只能通过流水线驱动执行，不能单独执行。                                                                                                                                                                                                                                                                                                                      |
         
      
   
   2. 完成应用基本信息的编辑后，单击**"下一步"** ，进入选择部署模板页面。
      此处选择**"Tomcat应用部署"** 模板，单击**"** **确定** **"**。
      
   
   
   
   
 
#### 创建环境并导入主机
创建部署环境并导入主机集群中的主机。
1. 单击**"** **环境管理** **"** ，切换到**"** **环境管理** **"**页面。
2. 新建环境。 
   1. 单击**"新建环境"** ，填写以下信息后，单击**"保存"** ，完成环境的创建。
      表4新建环境参数说明 
      | 参数项  | 说明                                                                                                     |
      |:---|:---|
      | 环境名称 | 请输入自定义的环境名称。 仅支持3-128位数字、中文、英文字母或-_.符号。 |
      | 资源类型   | 根据您即将部署的环境，可选择**"主机"**。                                                                                  |
      | 操作系统   | 根据即将添加主机的操作系统，可选择**"Linux"** 或**"Windows"**。                                                            |
      | 描述   | 请输入对环境的描述。 长度限制：0-500字符。              |
         
      
   
   2. 单击**"导入主机"** ，系统已自动筛选符合当前环境的所有集群，在弹框中选择目标主机集群，可通过以下方式将主机导入环境中。
      **单独导入** **：** 单击某个主机操作列的![](https://support.huaweicloud.com/qs-deployman/zh-cn_image_0000001603187925.png)图标，即可将该主机导入环境中。
      **批量导入** **：** 选中多个主机，单击**"导入"**，即可将主机批量导入环境中。
      当选择已绑定代理主机的目标主机进行导入时，该目标主机绑定的代理主机会一同被导入环境中。
      
   
   3. （可选）主机导入成功后，可单击页面![](https://support.huaweicloud.com/qs-deployman/zh-cn_image_0000001604666193.png)图标，进行连通性验证。
      关于连通性验证问题，请参考[主机管理常见问题](https://support.huaweicloud.com/deployman_faq/deployman_faq_0000.html)排查。
      
   
   
   
   
 
#### 配置应用部署步骤并部署应用
以下为Tomcat应用部署模板的初始化步骤及其参数说明，如需了解更多步骤详情可参考[部署步骤详解](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_1041.html)。
1. 配置应用部署步骤。 
   切换到**"部署步骤"** 页签，单击**"** **编辑** **"** 对部署步骤进行参数配置。
   1. 安装JDK
      表5安装JDK参数说明 
      | 参数项          | 说明                                                                                                                                                                                                                                                                                                                                                                                                               |
      |:---|:---|
      | 步骤显示名称     | 步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()（）符号，其中空格不可在名称开头或结尾使用，长度为1-128。                                                                                                                                                                                                                                                                                                                                       |
      | 环境         | 选择当前资源类型为主机集群的环境，作为部署对象。                                                                                                                                                                                                                                                                                                                                                                                         |
      | 请选择JDK版本 | JDK的版本。                                                                                                                                                                                                                                                                                                                                                                                                         |
      | JDK安装路径    | JDK的安装路径。                                                                                                                                                                                                                                                                                                                                                                                                         |
      | 控制选项       | 配置是否启用以下操作。 - 失败后继续运行：当前步骤部署失败后，应用继续部署后续的步骤。  - 使用sudo权限执行：配置使用sudo权限部署该步骤。   |
         
      
   
   2. 安装Tomcat
      表6安装Tomcat参数说明 
      | 参数项          | 说明                                                                                                                                                                                                                                                                                                                                                                                                                     |
      |:---|:---|
      | 步骤显示名称     | 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()（）符号，其中空格不可在名称开头或结尾使用，长度为1-128。                                                                                                                                                                                                                                                                             |
      | 环境         | 选择当前资源类型为主机集群的环境，作为部署对象。                                                                                                                                                                                                                                                                                                                                                                                               |
      | Tomcat版本 | 选择要安装的Tomcat的版本号。                                                                                                                                                                                                                                                                                                                                                                                                       |
      | 安装路径         | Tomcat的安装路径。                                                                                                                                                                                                                                                                                                                                                                                                             |
      | http端口     | 默认为8080。                                                                                                                                                                                                                                                                                                                                                                                                               |
      | ajp端口       | 默认为8009。                                                                                                                                                                                                                                                                                                                                                                                                               |
      | shutdown端口 | 默认为8005。                                                                                                                                                                                                                                                                                                                                                                                                               |
      | 控制选项       | 配置是否启用以下操作。 - 失败后继续运行：当前步骤部署失败后，应用继续部署后续的步骤。  - 使用sudo权限执行：配置使用sudo权限部署该步骤。   |
         
      
   
   3. 停止Tomcat服务
      表7停止Tomcat服务参数说明 
      | **参数项**   | 是否必填 | **说明**                                                                                                                                                                                                                                                                     |
      |:---|:---|:---|
      | 步骤显示名称   | 是   | 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()（）符号，其中空格不可在名称开头或结尾使用，长度为1-128。                                                                                                                                                             |
      | 环境         | 是 | 选择当前资源类型为主机集群的环境，作为部署对象。                                                                                                                                                                                                                                                    |
      | 服务操作类型    | 是 | 配置**"停止服务"**。                                                                                                                                                                                                                                                                 |
      | 服务对应的绝对路径 | 是   | Tomcat服务的路径。                                                                                                                                                                                                                                                                 |
      | 控制选项     | 否  | 配置是否启用该操作。 - 失败后继续运行：当前步骤部署失败后，应用是否继续部署后续的步骤。  - 使用sudo权限执行：配置是否使用sudo权限部署该步骤。   |
         
      
   
   4. 选择部署来源
      表8选择部署来源参数说明 
      | 参数项      | 是否必填 | 说明                                                                                                                                                                                                                                                                        |
      |:---|:---|:---|
      | 步骤显示名称   | 是     | 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()（）符号，其中空格不可在名称开头或结尾使用，长度为1-128。                                                                                                                                                           |
      | 选择源类型      | 是     | 包括"制品仓库"和"构建任务"两种类型。                                                                                                                                                                                                                                                       |
      | 环境        | 是      | 选择当前资源类型为主机集群的环境，作为部署对象。                                                                                                                                                                                                                                                     |
      | 选择软件包     | 是        | 可以选择制品仓库已有软件包，也可以选择本地上传的软件包/文件（上传到制品仓库的软件包/文件，可以重复使用）。 package_url是软件包在制品仓库中的路径。                                                                                                                                                       |
      | 下载到主机的部署目录 | 是        | 软件包下载后的路径。                                                                                                                                                                                                                                                                 |
      | 控制选项     | 否      | 配置是否启用该操作。 - 失败后继续运行：当前步骤部署失败后，应用是否继续部署后续的步骤。  - 使用sudo权限执行：配置是否使用sudo权限部署该步骤。   |
         
      此处的部署来源以选择**"制品仓库"** 为例，进行相应的参数说明。如部署来源选择**"构建任务"** ，相关信息可参考《用户指南》里[选择部署来源](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_0003911.html)章节。
      
   
   5. 启动Tomcat服务
      表9启动Tomcat服务参数说明 
      | **参数项**    | 是否必填 | **说明**                                                                                                                                                                                                                                                                          |
      |:---|:---|:---|
      | 步骤显示名称       | 是   | 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()（）符号，其中空格不可在名称开头或结尾使用，长度为1-128。                                                                                                                                                                  |
      | 环境          | 是     | 选择当前资源类型为主机集群的环境，作为部署对象。                                                                                                                                                                                                                                                       |
      | 服务操作类型      | 是     | 配置**"启动服务"**。                                                                                                                                                                                                                                                                   |
      | 服务对应的绝对路径   | 是     | Tomcat服务的路径。                                                                                                                                                                                                                                                                      |
      | http端口      | 是     | Tomcat服务监听的http端口。                                                                                                                                                                                                                                                                |
      | ajp端口      | 是       | Tomcat服务监听的ajp端口。                                                                                                                                                                                                                                                               |
      | shutdown端口 | 是    | Tomcat服务监听的shutdown端口。                                                                                                                                                                                                                                                            |
      | 等待时间        | 是     | 设置等待时间，等待时间结束后，监测服务是否已成功启动。可根据服务启动实际所需时间进行调整，如时间设置不合理，会导致检测结果无效。 输入限制：0-300，单位"秒"。                                                                                                                                                         |
      | 控制选项      | 否   | 配置是否启用该操作。 - 失败后继续运行：当前步骤部署失败后，应用是否继续部署后续的步骤。  - 使用sudo权限执行：配置是否使用sudo权限部署该步骤。   |
         
      
   
   6. URL健康测试
      表10URL健康测试参数说明 
      | 参数项    | 是否必填 | 说明                                                                                                            |
      |:---|:---|:---|
      | 步骤显示名称 | 是   | 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()（）符号，其中空格不可在名称开头或结尾使用，长度为1-128。 |
      | 环境     | 是    | 选择当前资源类型为主机集群的环境，作为部署对象。                                                                                      |
      | 重试次数      | 是   | 失败后重试次数，超过重试次数服务未启动会导致URL检测失败。                                                                               |
      | 间隔时间    | 是    | 两次重试的间隔时间。 输入限制：0-60，单位"秒"。                                                |
      | 测试路径    | 是      | 待测试服务的路径，可以添加多个。                                                                                             |
      | 控制选项    | 否     | 配置是否启用该操作。 失败后继续运行：当前步骤部署失败后，应用继续部署后续的步骤。                                |
         
      **"URL健康测试"** 的参数填写完成后，即完成了所有的参数配置。更多应用配置请参考[配置CodeArts Deploy应用的参数](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_1035.html)。
      
    
   
   
2. 部署应用。 
   配置好上述参数后，单击**"保存并部署"** 即可开始部署应用。
   - 应用部署成功。 ![](https://support.huaweicloud.com/qs-deployman/zh-cn_image_0000001932024394.png)
     
   
   - 应用部署失败时，可参考以下流程排查原因。
     1. **查看自动匹配解决方案**
        如果应用部署失败，可单击部署步骤日志下的**"查看解决方案"**，前往对应的帮助中心页面。
        ![](https://support.huaweicloud.com/qs-deployman/zh-cn_image_0000001959223577.png)
        
     
     2. **手动搜索解决方案**
        如果所匹配的帮助中心页面未能解决问题，可将错误信息（即框图内容）粘贴到帮助中心的搜索栏，进行手动搜索解决方案。
        ![](https://support.huaweicloud.com/qs-deployman/zh-cn_image_0000001959103789.png)
        更多部署问题，请参考[应用部署常见问题](https://support.huaweicloud.com/deployman_faq/deployman_faq_00002.html)排查。
        
     
     3. **发起技术支持申请**
        如果仍未能搜索到可行的解决方案，您可[新建工单](https://console.huaweicloud.com/ticket/?agencyId=eb834b16f9bd42cab4b55e82767cffea&region=cn-east-3&locale=zh-cn#/ticketindex/createIndex)申请华为工程师协助。
        
      
    
   
   
#### 验证部署结果
由于**"Tomcat应用部署"**模板支持部署结果验证(若不支持验证可不做部署结果的验证)，在此对验证这一步骤进行说明。应用部署成功后，在浏览器网址栏输入以下信息。
```
目标主机公网IP:8080/tomcat-demo
```
回车即可得到以下结果，表示应用确实部署成功。
![](https://support.huaweicloud.com/qs-deployman/zh-cn_image_0000001931865030.png)
如需了解更多操作信息，请参见[用户指南](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_0030.html)查看详细流程。
