
# 部署环境准备
本章节以Linux主机为例，指导您基于KooCLI和[软件开发生产线CodeArts](https://support.huaweicloud.com/devcloud/index.html)搭建一套FunctionGraph函数的CI/CD。
#### 云服务器ECS
该服务器作为CodeArts部署任务的部署主机，用于部署更新FunctionGraph函数。
- 规格：1vCPUs \| 1GiB
- 镜像：CentOS 8.2 64bit
- 其他：需要配置弹性公网IP，因为要安装python库和CodeArts，配置该服务器为部署主机。
- 注意：因为CodeArts配置该服务器为部署主机是通过SSH协议22端口，如果您对安全有较高的要求，至少需要将以下IP地址加入安全组并放开限制，否则将无法进行授信。 42.202.130.147
  49.4.3.11
  122.112.212.206
  139.159.226.153
  49.4.85.127
  124.70.46.237
  
**部署主机安全组配置流程**
1. 进入[创建IP地址组页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/vpc/ipGroups/create)。
2. 根据界面提示设置IP地址组参数，具体参数详细说明请参见[创建IP地址组](https://support.huaweicloud.com/usermanual-vpc/vpc_IPAddressGroup_0003.html)，完成后单击"立即创建"。
   - 名称：ipGroup-clouddeploy
   
   - IP地址：
     ```
     42.202.130.147
     49.4.3.11
     122.112.212.206
     139.159.226.153
     49.4.85.127
     124.70.46.237
     ```
     
    
3. 返回网络控制台，在左侧导航栏选择"访问控制 \> 安全组"，单击"创建安全组"，具体安全组配置详情请参见[创建安全组](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0013748715.html)，完成后单击"立即创建"。
   - 名称：functions-deploy
   
   - 企业项目：default
    
4. 在"入方向规则"页签下，单击"添加规则"，给functions-deploy安全组添加一个入方向规则。 优先级为1，协议端口号为22，源地址选择已创建的ipGroup-clouddeploy的IP地址组，完成后单击"确定"。
   图1添加入方向规则   
   ![](https://support.huaweicloud.com/devg-functiongraph/zh-cn_image_0000001315856898.png "点击放大") 
5. 返回弹性云服务器页面，单击部署主机ECS的名称，将部署主机的安全组切换为functions-deploy安全组。
 
#### 安装Python库
执行如下命令，安装pyyaml库和pycryptodome库。对函数的cam.yaml配置文件进行解析，对函数的加密环境变量进行加解密。
```
pip3 install pyyaml
```
```
pip3 install pycryptodome
```
#### 安装KooCLI命令行工具
1. **安装KooCLI命令行工具**
   远程登录购买的ECS云服务器，执行如下命令安装KooCLI：
   ```
   curl -sSL https://hwcloudcli.obs.cn-north-1.myhuaweicloud.com/cli/latest/hcloud_install.sh -o ./hcloud_install.sh && bash ./hcloud_install.sh
   ```
   ```
   ```
   图2安装命令行工具   
   ![](https://support.huaweicloud.com/devg-functiongraph/zh-cn_image_0000001315700494.png "点击放大") 

2. **初始化KooCLI命令行工具**
   使用如下命令初始化KooCLI命令行工具：
   ```
   hcloud configure init
   ```
   需要输入Access Key ID、Secret Access Key和Region Name，获取方法请参见[3]、[4]。
   图3初始化KooCLI命令行工具   
   ![](https://support.huaweicloud.com/devg-functiongraph/zh-cn_image_0000001315726882.png "点击放大") 
3. **获取访问密钥（Access Key ID和Secret Access Key）**
   - 如果您有登录密码，可以登录控制台，可以在我的凭证中获取自己的访问密钥AK/SK。请参见：[新增访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html#section1)。可以下载得到AK/SK文件，文件名一般为：credentials.csv。如下图所示，文件包含了用户名称（User Name），AK（Access Key Id），SK（Secret Access Key）。
     图4credentials.csv文件内容   
     ![](https://support.huaweicloud.com/devg-functiongraph/zh-cn_image_0000001366629985.png "点击放大") 
   
   - 如果您没有登录密码，不能登录控制台，在访问密钥异常丢失或者需要重置时，可以请账号管理员在IAM中生成您的访问密钥，并发送给您。请参见：[管理IAM用户访问密钥](https://support.huaweicloud.com/usermanual-iam/iam_02_0003.html)。
    
4. **获取Region Name**
   请参见：[地区和终端节点](https://developer.huaweicloud.com/endpoint?FunctionGraph)。
   图5获取区域   
   ![](https://support.huaweicloud.com/devg-functiongraph/zh-cn_image_0000001366470045.png "点击放大") 
