• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 流水线工具部署文档
2
3## wsl ubuntu 安装
4
5### 开发者模式开启
6
7安装首先要启用windows的开发者模式,左下角搜索 `开发者设置`并启用。
8
9![image](./screenshots/windev.png)
10![image](./screenshots//windev2.png)
11
12### 启用windows功能
13
14左下角搜索 `启用或关闭windows功能`,勾选 `适用于Linux的windows子系统`。
15
16![image](./screenshots/winfunction.png)
17
18### linux-Ubuntu 下载
19
20桌面左下角搜索 `Microsoft store`打开商店, 搜索linux,下载Ubuntu22.04.02 LTS。
21
22![image](./screenshots//ubuntu.png)
23
24下载完成后直接双击启动,会自动安装,一两分钟后安装完毕,按提示设置**用户名**、**密码**。
25
26![image](./screenshots/linux.png)
27
28## ubuntu环境配置
29
30### 基本指令下载
31
32在ubuntu命令行工具中输入以下命令安装工具。
33
34```
35sudo apt-get update
36sudo apt-get install git-lfs bison flex gnupg build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses-dev x11proto-core-dev libx11-dev libc++1 lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 libtinfo5 bc genext2fs liblz4-tool libssl-dev ruby gdb libelf-dev libxcursor-dev libxrandr-dev libxinerama-dev
37```
38
39### 安装JDK
40
41```
42sudo apt-get update
43sudo apt-get install openjdk-11-jdk
44```
45
46安装完毕后输入 `java -version`验证
47
48![image](./screenshots/javaverify.png)
49
50### 安装node
51
52```
53cd ~
54mkdir Node
55cd Node
56wget https://nodejs.org/download/release/v16.19.1/node-v16.19.1-linux-x64.tar.xz
57tar -xvf node-v16.19.1-linux-x64.tar.xz
58```
59
60![image](./screenshots/nodedownload.png)
61
62### 配置node环境变量
63
64```
65cd node-v16.19.1-linux-x64
66pwd
67```
68
69右键复制输出的路径,按照以下命令打开配置文件编辑,将userName替换为真实的用户名。
70
71```
72vim ~/.bashrc
73
74// 添加以下内容
75export NODE_HOME=/home/userName/Node/node-v16.19.1-linux-x64
76export PATH=$NODE_HOME:$PATH
77export NODE_HOME_BIN=/home/userName/Node/node-v16.19.1-linux-x64/bin
78export PATH=$NODE_HOME_BIN:$PATH
79```
80
81![image](./screenshots/setnode.png)
82
83编辑完键盘按esc 然后输入 `:wq`回车保存。
84
85输入以下命令重载入环境变量,并验证。
86
87```
88source ~/.bashrc
89node -v
90```
91
92![image](./screenshots/nodeversion.png)
93
94### 安装ohpm工具
95
96下载ohpm工具压缩包并解压
97
98```
99wget "https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_package_901_9/a6/v3/cXARnGbKTt-4sPEi3GcnJA/ohcommandline-tools-linux-2.0.0.1.zip?HW-CC-KV=V1&HW-CC-Date=20230512T075353Z&HW-CC-Expire=315360000&HW-CC-Sign=C82B51F3C9F107AB460EC26392E25B2E20EF1A6CAD10A26929769B21B8C8D5B6" -O ohpmTool.zip
100unzip ohpmTool.zip
101```
102
103![image](./screenshots/ohpmdownload.png)
104
105初始化ohpm
106
107```
108cd oh-command-line-tools/ohpm/bin/
109pwd
110./init
111```
112
113![image](./screenshots/ohpminit.png)
114复制一下上面pwd输出的结果,然后手动添加ohpm的目录到环境变量。
115
116```
117vim ~/.bashrc
118
119// 添加以下内容
120export OHPM_HOME=/home/userName/oh-command-line-tools/ohpm/bin
121export PATH=$OHPM_HOME:$PATH
122```
123
124![image](./screenshots/setohpm.png)
125
126重新加载环境变量,并验证。
127
128```
129source ~/.bashrc
130cd ~
131ohpm
132```
133
134![image](./screenshots//ohpmversion.png)
135
136## HapBuild工具下载
137
138```
139cd ~
140git init
141git config core.sparsecheckout true
142echo code/Project/HapBuild > .git/info/sparse-checkout
143git remote add origin https://gitee.com/openharmony/applications_app_samples.git
144git pull origin master
145```
146
147### 下载SDK
148
149```
150cd ~/code/Project/HapBuild/compile-tool/bin
151sudo chmod +x init-sdk.sh
152./init-sdk.sh
153```
154
155![image](./screenshots/compiletooldownload.png)
156
157执行完以上命令后开始下载SDK,一共要下6个SDK耗时较长。
158
159下载完SDK后手动添加hdc的目录到环境变量。
160
161```
162cd ~/code/Project/HapBuild/compile-tool/sdk-full/10/toolchains
163pwd
164vim ~/.bashrc
165
166// 把pwd输出的路径添加到下面
167#hdc
168export HDC_HOME=/home/userName/code/Project/HapBuild/compile-tool/sdk-full/10/toolchains
169export PATH=$HDC_HOME:$PATH
170```
171
172![image](./screenshots/sethdc.png)
173
174重新加载环境变量,并验证。
175
176```
177source ~/.bashrc
178cd ~
179hdc
180```
181
182![image](./screenshots/hdcversion.png)
183
184### 给shell脚本增加权限
185
186```
187cd ~/code/Project/HapBuild/compile-tool/bin
188sudo chmod +x compile-ut-ohpm.sh compile-ohpm-ci.sh init-sdk.sh update-sdk.sh
189```
190
191### 初始化本地sample仓
192
193```
194cd ~
195$PWD/code/Project/HapBuild/compile-tool/bin/compile-ut-ohpm.sh --p=$PWD/code/Project/HapBuild/compile-tool/config/ut_samples_master.config --compile_dir=code
196```
197
198注意:这一步是为了让本地存有代码,所以仓库克隆完毕即可Ctrl + C退出。
199
200### 修改项目配置文件
201
202打开项目路径下的 `ci/config.dev.ts`编辑后台服务配置文件,修改配置文件路径为真实路径。
203
204打开gitee官网[申请私人令牌](https://gitee.com/profile/personal_access_tokens),将申请到的私人令牌复制,替换 `accessToken`。
205
206```
207vim ~/code/Project/HapBuild/ci/config.dev.ts
208
209// 将accessToken替换成从gitee上申请的私人令牌,将userName改为真实用户名
210export const ACCESS_TOKEN = 'accessToken';
211export const PROJECT_PATH = '/home/userName/code/Project/HapBuild/compile-tool/projects/ut_samples_master';
212export const CONFIG_PATH = '/home/userName/code/Project/HapBuild/compile-tool/config/ut_samples_master.config';
213export const COMPILE_SH_PATH = '/home/userName/code/Project/HapBuild/compile-tool/bin/compile-ohpm-ci.sh';
214export const SIGN_HAP_PATH = '/home/userName/code/Project/HapBuild/compile-tool/out/ut_samples_master/full-sdk/hap-out-with-signed';
215export const TEST_TOOL_PATH = '/home/userName/code/Project/HapBuild/test-tool/InstallAndTestSpecial_ci.py';
216export const CONTAINS_PATH = '/home/userName/code/Project/HapBuild/test-tool/LinuxContains.py';
217export const SIGN_FULL_PATH = '/home/userName/code/Project/HapBuild/compile-tool/out/ut_samples_master/full-sdk/hap-out-with-signed/';
218export const SIGN_PUBLIC_PATH = '/home/userName/code/Project/HapBuild/compile-tool/out/ut_samples_master/public-sdk/hap-out-with-signed/';
219```
220
221修改完成后保存退出。
222
223打开项目路径下的 `test-tool/LinuxContains.py`编辑测试脚本配置文件。
224
225```
226sudo chmod +x ~/code/Project/HapBuild/test-tool/LinuxContains.py
227vim ~/code/Project/HapBuild/test-tool/LinuxContains.py
228
229// 将userName改为真实用户名
230SIGN_HAP_PATH = r'/home/userName/code/Project/HapBuild/compile-tool/out/ut_samples_master/full-sdk/hap-out-with-signed/'
231FA_MODAL_AND_LOWER_CASE_LIST = r'/home/userName/code/Project/HapBuild/test-tool/FA_Model_And_Lower_Case_List.json'
232INSTALL_LIST_CAPABILITY = r'/home/userName/code/Project/HapBuild/ci/install_list_capability.json'
233SAVE_XML_PATH = r'/home/userName/code/Project/HapBuild/test-tool'
234COMBIN_CONFIG = r'/home/userName/code/Project/HapBuild/test-tool/CombinationConfig.json'
235SPECIAL_LIST = r'/home/userName/code/Project/HapBuild/test-tool/special_list.json'
236SPECIAL_HAP = r'code_UI_JsComponentCollection_JsComponentCollection;code_SuperFeature_MultiDeviceAppDev_JsAdaptiveCapabilities;code_BasicFeature_FileManagement_FileShare_SandboxShare;code_SystemFeature_DeviceManagement_DeviceManagementCollection;code_BasicFeature_Security_PaySecurely_paySDK;code_SystemFeature_ApplicationModels_Launcher;code_SuperFeature_DistributedAppDev_JsDistributedMusicPlayer;code_SuperFeature_DistributedAppDev_DistributeCalc;code_Solutions_Tools_JsClock;code_BasicFeature_Notification_CustomNotificationBadge'
237TARGET_PATH = r'code_Solutions_Game_DistributedDataGobang'
238```
239
240### 下载依赖
241
242下载测试脚本所需python环境及python依赖。
243
244```
245cd ~
246sudo apt update
247sudo apt install python3
248```
249
250检测是否安装完成。
251
252```
253python3 --version
254```
255
256![image](./screenshots/pythonversion.png)
257
258下载依赖。
259
260```
261sudo apt update
262sudo apt install python3-pip
263pip install paramiko
264```
265
266## 运行ci模块
267
268初始化ci,下载依赖。
269
270```
271cd ~/code/Project/HapBuild/ci
272npm i -g @nestjs/cli
273npm i
274npm run build
275npm install pm2 -g
276```
277
278> pm2如果安装不上可以尝试清除 npm 缓存 `npm cache clean --force`,再使用淘宝npm镜像 `npm config set registry https://registry.npm.taobao.org/`,最后再尝试安装 `npm install pm2 -g`。
279
280运行项目。
281
282```
283cd ~/code/Project/HapBuild/ci
284pm2 start dist/src/main.js
285```
286
287![image](./screenshots/cistart.png)
288
289使用以下命令可以看到项目的运行情况。
290
291```
292pm2 status
293```
294
295![image](./screenshots/cistatus.png)
296
297使用以下命令停止该项目。
298
299```
300pm2 stop dist/src/main.js
301```
302
303![image](./screenshots/cistop.png)
304
305## 浏览器访问验证
306
307在浏览器上输入网址:http://127.0.0.1:3000/swagger