
# 在CodeArts资源池中新建代理
#### 操作场景
通过在主机中安装Agent，并根据需要接入注册到CodeArts服务中，即可作为自定义执行机，供代码检查、构建等任务使用。
资源池支持接入以下类型操作系统的主机作为自定义执行机。
表1自定义执行机操作系统 
| 操作系统          | 版本号                             |
|:---|:---|
| CentOS        | 7.2、7.3、7.4、7.5、7.6、8.0、8.1、8.2 |
| EulerOS       | 2.5、2.9                         |
| Ubuntu        | 14.04、16.04、18.04、20.04、22.04   |
| Windows       | 2012 R2、2016、2019、7、10          |
| KylinOS       | V10 SP1                         |
| Union TechOS  | Server 20 (1050e)               |
| OpenEuler     | 20.03                           |
| AlmaLinux     | 9.0                             |
| CentOS Stream | 9                               |
| Mac OS        | 10.7及以上版本                       |
   
#### 约束与限制
- 建议一台主机中只安装一个Agent，如果安装多个Agent可能在执行任务时导致Agent下线。
- 一个Agent同一时间只能执行一个任务。
- 请勿使用临时AK/SK，避免安装失败。
- 如果使用的资源池的类型为"LINUX_DOCKER"，机器须关闭"SELinux"，否则无法启动容器。 关闭方式如下：
  1. 登录主机，执行以下命令，打开配置文件。
     ```
     vi /etc/selinux/config
     ```
     
  
  2. 将"SELINUX=enforcing"修改为"SELINUX=permissive"或"SELINUX=disabled"。
  
  3. 完成修改后保存。
  
  4. 执行以下命令，使修改内容立即生效。
     ```
     sudo setenforce 0
     ```
     
   
 
#### 前提条件
- 已完成[新建资源池](https://support.huaweicloud.com/usermanual-codeartsrepo/devcloud_01_0016.html#devcloud_01_0016__zh-cn_topic_0000001878107673_zh-cn_topic_0232484364_section8742137204518)。
- 用户需要拥有资源池所有者或管理者权限。 如果使用IIC用户（即[通过IAM身份中心创建的用户](https://support.huaweicloud.com/usermanual-identitycenter/iic_03_0003.html)）新建代理，则该用户需要使用IAM用户的AK/SK，且该IAM用户至少拥有"管理者"权限。
  
- 已拥有满足以下条件的主机。
  - 规格：4vCPUs 8GiB或以上、磁盘\>80GiB。
  
  - 必须有公网访问权限。
  
  - 已开通以下域名的防火墙白名单、并开放端口号1200\~1699。
    表2区域域名对应关系 
    | **区域名称**             | **域名**                                              |
    |:---|:---|
    | 北京一（cn-north-1）      | cloudoctopus-agent.cn-north-1.myhuaweicloud.com     |
    | 北京四（cn-north-4）      | cloudoctopus-agent.cn-north-4.myhuaweicloud.com     |
    | 上海一（cn-east-3）       | cloudoctopus-agent.cn-east-3.myhuaweicloud.com      |
    | 上海二（cn-east-2）       | cloudoctopus-agent.cn-east-2.myhuaweicloud.com      |
    | 广州（cn-south-1）       | cloudoctopus-agent.cn-south-1.myhuaweicloud.com     |
    | 深圳（cn-south-2）       | cloudoctopus-agent.cn-south-2.myhuaweicloud.com     |
    | 大连（cn-northeast-1）   | cloudoctopus-agent.cn-northeast-1.myhuaweicloud.com |
    | 贵阳一（cn-southwest-2 ） | cloudoctopus-agent.cn-southwest-2.myhuaweicloud.com |
       
    
   
- 如果主机的操作系统为Linux，CodeArts提供自动安装Java、Git、Docker功能，用户也可以使用root账号手动安装。 安装方式参考[Java官网](https://openjdk.org/install/index.html)、[Git官网](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)、[Docker官网](https://docs.docker.com/install/)。
  
- 如果主机的操作系统为Windows或Mac，请使用系统管理员账号手动在服务器中安装Java 8、Git。 如果主机的操作系统为Windows，请安装64位 Java 8。
  
 
#### 新建代理
1. 进入CodeArts首页。 
   1. 登录[CodeArts控制台](https://console.huaweicloud.com/devcloud)，单击![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000001917408514.png)，根据需要选择已开通CodeArts的区域。
   
   2. 单击"前往工作台"。 如果当前账号采用的是历史计费模式（详情请参考[历史计费模式说明](https://support.huaweicloud.com/price-devcloud/codearts_29_0031.html)），则单击"立即使用"。
      
   
   
   
   
2. 在导航栏中单击用户名![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000001941581008.png "点击放大")，选择"租户设置"。
3. 单击"资源池管理 \> 资源池"，进入资源池列表。
4. 在资源池列表中找到目标资源池，单击资源池名称，进入"代理列表"页面。
5. 单击"新建代理"，页面弹出对话框。 
   图1新建代理   
   ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002362470361.png "点击放大")
   
   
   
6. 根据需要完成参数配置。 
   表3新建代理 
   | 参数         | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|
   | 自动安装JDK    | 当资源池类型为"LINUX"或"LINUX_DOCKER"时显示此参数，默认开启。 此参数为可选参数，开启此开关后，CodeArts将为主机安装JDK。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 自动安装Git    | 当资源池类型为"LINUX"或"LINUX_DOCKER"时显示此参数，默认开启。 此参数为可选参数，开启此开关后，CodeArts将为主机自动安装Git。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 是否安装Docker | 当资源池类型为"LINUX"或"LINUX_DOCKER"时显示此参数。 当资源池类型为"LINUX_DOCKER"时，默认勾选。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 自动安装Docker | 当资源池类型为"LINUX_DOCKER"时显示此参数。 当资源池类型为"LINUX_DOCKER"时，默认开启。 此参数为可选参数，开启此开关后，CodeArts将为主机安装Docker、注册服务并启动Docker服务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 重启免注册      | 当资源池类型为"LINUX"或"LINUX_DOCKER"时显示此参数。 开启此开关后，代理进程将自动注册为Linux系统服务。当主机重启时，代理进程将会自动重启恢复，无需重新新建。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | AK         | 当前用户的Access Key Id。获取方式请参考[获取AK/SK](https://support.huaweicloud.com/devg-apisign/api-sign-provide-aksk.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | SK         | 当前用户的Secret Access Key。获取方式请参考[获取AK/SK](https://support.huaweicloud.com/devg-apisign/api-sign-provide-aksk.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 代理名称       | 代理（Agent）的名称，同一台主机不可以安装相同名称的代理。 为了方便管理，命名建议清晰，建议关联代理机IP，如：10.10.10.10-agent-01。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 代理工作空间     | 代理在主机上运行的工作目录，任务执行的工作空间，同一台主机的不同代理不可以使用同样的代理工作空间。 例如： - Linux：/opt/cloud/agent01。  - Windows：C:/opt/cloud/agent01。  - Mac：/opt/cloud/agent01。   |
      
   
   
7. 完成参数配置后，勾选"代理工作空间"下方的复选框。
8. 单击"生成命令"，命令框中自动生成安装代理命令。
9. 单击"复制命令"，复制此命令。
10. 登录主机，执行已复制的安装命令。 
    - Linux主机：使用root账号登录主机，执行安装命令。
    
    - Windows主机：使用管理员身份登录主机，打开Git Bash，执行安装命令。
    
    - Mac主机：使用root账号登录主机，执行安装命令。
    
    
    当命令终端显示如下提示时，表示安装结束。
    图2安装结束回显   
    ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000001831468422.png "点击放大")
    
    
11. 返回"代理列表"页面。 
    等待10-30秒，刷新页面，当"状态"列的值为"空闲中"时，表示安装成功。
    
    
 
#### 管理代理
1. 进入CodeArts首页。 
   1. 登录[CodeArts控制台](https://console.huaweicloud.com/devcloud)，单击![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000001917408514.png)，根据需要选择已开通CodeArts的区域。
   
   2. 单击"前往工作台"。 如果当前账号采用的是历史计费模式（详情请参考[历史计费模式说明](https://support.huaweicloud.com/price-devcloud/codearts_29_0031.html)），则单击"立即使用"。
      
   
   
   
   
2. 在导航栏中单击用户名![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002314487952.png "点击放大")，选择"租户设置"。
3. 单击"资源池管理 \> 资源池"，进入"资源池管理"页面。
4. 在资源池列表中找到目标资源池，单击资源池名称，进入"代理列表"页面。
5. 找到目标代理，根据需要完成以下操作。 
   表4管理代理 
   | 操作      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   |:---|:---|
   | 查看代理状态  | 代理的状态有以下五种： - 运行中：代理机正在执行任务。处于此状态的代理无法被删除。  - 空闲中：代理机处于连接状态，未运行任务。  - 停用：代理机处于连接状态，但无法执行任务。  - 下线：代理机处于掉线断开状态，如需上线请登录代理机重新注册，否则删除即可。  - 删除中：代理机正在被删除中。   |
   | 启动/停用代理 | - 单击"操作"列中的![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000001917731630.jpg)，可停用对应代理。停用后，"状态"列显示为"停用"。  - 单击"操作"列中的![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000001947850657.png)，可以重新启用代理。启动后，"状态"列恢复为"空闲中"。                                                                                                                                                                                                                                                                                                                                            |
   | 删除代理    | 警告： - 删除后，将无法恢复，请谨慎操作。  - 如果在新建代理时开启"重启免注册"开关，请参照页面提示，在删除代理前需登录对应主机执行卸载命令。否则，主机重启后，已删除代理会自动重新注册。   - 单独删除：在"代理列表"页面，单击目标代理的操作列中的![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000001917891686.jpg)，可以删除对应代理。  - 批量删除：在"代理列表"页面，勾选待删除的代理，单击"批量删除"。                      |
      
   
   
 
