diff --git "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\345\256\211\350\243\205\351\203\250\347\275\262Jenkins.md" "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\345\256\211\350\243\205\351\203\250\347\275\262Jenkins.md" index f3b22b11ea349b784b00874408ffd170b7843fd6..a6788be0417ac5c2d0ee76736cf4980d20e4c92a 100644 --- "a/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\345\256\211\350\243\205\351\203\250\347\275\262Jenkins.md" +++ "b/document/Jenkins\345\256\211\350\243\205\351\203\250\347\275\262/\345\256\211\350\243\205\351\203\250\347\275\262Jenkins.md" @@ -1,6 +1,7 @@
《安装部署 Jenkins》
## 安装 Jenkins + > **Jenkins 运行的 JDK 的最低要求为 JDK11 (官方推荐JDK17)** > [Jenkins 离线安装 官方文档](https://www.jenkins.io/doc/book/installing/offline/) @@ -147,132 +148,24 @@ cat ~/.ssh/id_ed25519_<推荐按照 *_*_*_* 格式填写目标服务器IP,便于 ![工作节点设置01](./Jenkins.assets/工作节点设置01.png)![工作节点设置02](./Jenkins.assets/工作节点设置02.png) -| 配置项 | 配置说明 | -| ------------------------------ | ------------------------------------------------------------------------------------------------- | -| 名字 | 与节点名称保持一致 | -| 描述 | 按需填写,便于管理标识和即可,如aarch64node(ip)openeuler22.03 | -| Number of executors | 默认为1 | -| 远程工作目录 | /home/JenkinsWorkspace/ | +| 配置项 | 配置说明 | +| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | +| 名字 | 与节点名称保持一致 | +| 描述 | 按需填写,便于管理标识和即可,如aarch64node(ip)openeuler22.03 | +| Number of executors | 默认为1 | +| 远程工作目录 | /home/JenkinsWorkspace/ | | 标签 | 流水线脚本中根据标签来选取执行机,可以打多个标签,用空格隔开,标签需要以kunpeng_为前缀,如kunpeng_scanner kunpeng_java_builder kunpeng_c_cpp_builder kunpeng_executor | -| 用法 | Only build jobs with label expressions matching this node | -| 启动方式 | Launch agents via SSH | -| 主机 | 节点IP | -| Credentials | 已添加的凭据 | -| Host Key Verification Strategy | Known hosts file Verification Strategy | -| 可用性 | Keep this agent online as much as possible | -| 节点属性(可选) | 若需要配置环境变量可选择Environment variables | +| 用法 | Only build jobs with label expressions matching this node | +| 启动方式 | Launch agents via SSH | +| 主机 | 节点IP | +| Credentials | 已添加的凭据 | +| Host Key Verification Strategy | Known hosts file Verification Strategy | +| 可用性 | Keep this agent online as much as possible | +| 节点属性(可选) | 若需要配置环境变量可选择Environment variables | ![工作节点设置03](./Jenkins.assets/工作节点设置05.PNG)![工作节点设置04](./Jenkins.assets/工作节点设置04.png) -### 3.脚本配置指导 - -1.jenkins流水线详细语法博客:https://www.jenkins.io/zh/doc/book/pipeline/syntax/ - -毕昇编译器调用示例: - -```groovy -def clang(String path) { - sh "${BISHENG_COMPILER_HOME}/bin/clang ${path}" -} - -pipeline { - agent any - stages { - stage('Bisheng Compiler') { - agent { - label 'Linux_aarch64' - } - steps { - clang("/root/temp/hello.c") - } - } - } -} -``` - -**备注:jenkins所在机器上应保障已安装毕昇编译器,可根据安装地址自由修改第二行代码处的编译器路径** - -在流水线脚本中在某一步骤需要调用毕昇编译器进行编译时,以目标文件为”/root/temp/hello.c“文件为例,在上侧代码13行处,调用clang()方法,并配置好目标文件路径即可。 - -1. GCC for openEuler调用示例 - - ```groovy - def gcc(String path) { - sh "${GCC_HOME}/bin/gcc ${path}" - } - - pipeline { - agent any - stages { - stage('GCC for openEuler') { - agent { - label 'Linux_aarch64' - } - steps { - gcc("/root/temp/hello.c") - } - } - } - } - ``` - - **备注:jenkins所在机器上应保障已安装GCC for openEuler,可根据安装地址自由修改第二行代码处GCC for openEuler路径** - - 在流水线脚本中在某一步骤需要调用GCC for openEuler进行编译时,以目标文件为”/root/temp/hello.c“文件为例,在上侧代码13行处,调用gcc()方法,并配置好目标文件路径即可。1.jenkins流水线详细语法博客:https://www.jenkins.io/zh/doc/book/pipeline/syntax/ - - 1. 毕昇编译器调用示例: - - ```groovy - def clang(String path) { - sh "${BISHENG_COMPILER_HOME}/bin/clang ${path}" - } - - pipeline { - agent any - stages { - stage('Bisheng Compiler') { - agent { - label 'Linux_aarch64' - } - steps { - clang("/root/temp/hello.c") - } - } - } - } - ``` - - **备注:jenkins所在机器上应保障已安装毕昇编译器,可根据安装地址自由修改第二行代码处的编译器路径** - - 在流水线脚本中在某一步骤需要调用毕昇编译器进行编译时,以目标文件为”/root/temp/hello.c“文件为例,在上侧代码13行处,调用clang()方法,并配置好目标文件路径即可。 - - 2. GCC for openEuler调用示例 - - ```groovy - def gcc(String path) { - sh "${GCC_HOME}/bin/gcc ${path}" - } - - pipeline { - agent any - stages { - stage('GCC for openEuler') { - agent { - label 'Linux_aarch64' - } - steps { - gcc("/root/temp/hello.c") - } - } - } - } - ``` - - **备注:jenkins所在机器上应保障已安装GCC for openEuler,可根据安装地址自由修改第二行代码处GCC for openEuler路径** - - 在流水线脚本中在某一步骤需要调用GCC for openEuler进行编译时,以目标文件为”/root/temp/hello.c“文件为例,在上侧代码13行处,调用gcc()方法,并配置好目标文件路径即可。 - -### 4.FAQ +### 3.FAQ ![Jenkins工作节点连接失败FAQ](./Jenkins.assets/Jenkins工作节点连接失败FAQ.png) diff --git "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/gitlab\345\256\211\350\243\205\351\203\250\347\275\262.md" "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/gitlab\345\256\211\350\243\205\351\203\250\347\275\262.md" index df28944c26cb979cd516dfa6760f361fe67fbe3a..120565dd8d4828925a3e113ce6358b956ce1773f 100644 --- "a/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/gitlab\345\256\211\350\243\205\351\203\250\347\275\262.md" +++ "b/document/gitlab\345\256\211\350\243\205\351\203\250\347\275\262/gitlab\345\256\211\350\243\205\351\203\250\347\275\262.md" @@ -17,8 +17,6 @@ yum install -y git tar policycoreutils-python openssh-server rpm -ivh gitlab-ce-16.9.1-ce.0.el7.x86_64.rpm ``` - - 安装成功会有如下信息: ![](./gitlab/安装01.PNG) @@ -117,6 +115,7 @@ wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7-aarch64/gitlab-r yum install -y git tar rpm -ivh gitlab-runner-16.9.0-1.aarch64.rpm ``` + #### 3.指定gitlab-runner ``` @@ -128,8 +127,8 @@ gitlab-runner install --working-directory /home/Kunpeng_staff --user root useradd Kunpeng_staff gitlab-runner install --working-directory /home/Kunpeng_staff --user Kunpeng_staff ``` -#### 4.启动gitlab-runner +#### 4.启动gitlab-runner ``` systemctl daemon-reload #重新加载配置 @@ -137,11 +136,13 @@ systemctl start gitlab-runner #启动服务 systemctl enable gitlab-runner #设置开机启动 systemctl restart gitlab-runner #重启服务 ``` + #### 5.查看gitlab-runner ``` systemctl status gitlab-runner ``` + 成功启动如下图所示 ![](./gitlab/gitlab-runner启动.PNG) @@ -152,7 +153,9 @@ chown -R root.root /home/gitlab-runner # 指定单一时用户运行 chown -R Kunpeng_staff.Kunpeng_staff /home/gitlab-runner ``` + #### 7.gitlab runner注册服务 + 登录gitlab,在管理中心Runner中新建一个runner ![](./gitlab/注册02.PNG) 标签多个时用逗号隔开,只可为kunpeng_scanner, kunpeng_c_cpp_builder, kunpeng_java_builder, kunpeng_executor @@ -163,35 +166,5 @@ chown -R Kunpeng_staff.Kunpeng_staff /home/gitlab-runner 点击进入runners页面 ![](./gitlab/注册09.PNG) ![](./gitlab/注册10.PNG) -#### 8.脚本配置指导 -创建或者导入项目,进入项目后,在目录中选择构建,在流水线编辑器中编辑 -毕昇编译器调用示例: -在流水线脚本中在某一步骤需要调用毕昇编译器进行编译时,以目标文件为”/opt/test.c“文件为例。 - -``` -stages: - - build - -clang_job: - stage: build - tags: - - kunpeng_scanner #对应gitlab-runner注册时的标签,可选择多个 - script: - - /root/BiShengCompiler-3.2.0-aarch64-linux/bin/clang /opt/test.c -o 输出路径 #所在机器上应保障已安装毕昇编译器,路径根据视情况填写 - -``` -GCC for openEuler调用示例: -在流水线脚本中在某一步骤需要调用GCC for openEuler进行编译时,以目标文件为”/opt/test.c“文件为例。 - -``` -stages: - - build - -gcc_job: - stage: build - tags: - - kunpeng_scanner #对应gitlab-runner注册时的标签,可选择多个 - script: - - /root/gcc-10.3.1-2023.12-aarch64-linux/bin/gcc /opt/test.c -o 输出路径 #所在机器上应保障已安装GCC for openEule,路径根据视情况填写 - +# diff --git "a/document/\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md" "b/document/\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md" index 385ec7c7746413f94ca6a6936d13bbf72085ecb5..f8d986b1e1f2b96d5dcabc9f443c4df2e87e159b 100644 --- "a/document/\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md" +++ "b/document/\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262/devkit\346\265\213\350\257\225\345\271\263\345\217\260\345\256\211\350\243\205\351\203\250\347\275\262\344\270\216jenkins\351\233\206\346\210\220\351\203\250\347\275\262\346\214\207\345\257\274\346\211\213\345\206\214.md" @@ -302,7 +302,7 @@ stage('lkp test') { CURDIR=$(pwd) cp -rf /xxx/compatibility_testing/template.html.bak /xxx/compatibility_testing/template.html sudo lkp run /xxx/lkp-tests/programs/compatibility-test/compatibility-test-defaults.yaml - cp -rf /xxx/test/compatibility_testing/compatibility_report.html $CURDIR + cp -rf /xxx/compatibility_testing/compatibility_report.html $CURDIR ''' sh(script: "sudo bash /xxx/compatibility_testing/report_result.sh", returnStdout:true).trim() # 这个是用于判断lkp 命令后生成的结果是否符合预期,需要根据不同的run脚本生成的结果文件去做不同的结果判断结果