| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> jenkins链接git,运行python脚本,发送html报告 -> 正文阅读 |
|
[开发工具]jenkins链接git,运行python脚本,发送html报告 |
jenkins接入项目: 一、创建工程 首页》新建任务》输入工程名称,选择“构建一个。。。”》点击 确定。 二、拉git代码,ssh链接gitlab,jenkins服务器生成一个sshkey,全局密钥给gitlab,私钥给jenkins配置全局凭据。然后 jenkins选择gitlab地址,选择jenkis刚配置的用户凭证即可。 详情如下:
在源码管理下,选择Git
SSH方式链接的,使用SSH方式的话需要设置SSH Key。 jenkins需要先创建添加Git账户,创建ssh key:在jenkins服务器下执行:ssh-keygen -o 生成ssh key,默认会生成在用户目录下 .ssh 中 id_rsa是私钥,id_rsa.pub是公钥,known_hosts是访问过的服务器公钥。 GitLab设置访问SSH key:gitlab》用户设置》ssh密钥,创建sshkeys Jenkins设置凭据jenkins 的 credentials 是为了与第三方应用进行交互控制而设置的,如果需要 commit 后进行源码的自动化拉取,编译,运行,就需要对第三方应用拥有足够的控制权限。 配置 jenkins 的 credentials types:首页》系统管理》manage credentials》全局凭据(下方)》添加凭据(左侧) 添加全局私钥:crm-ssh-key ? ? Kind选 SSH Username with private key 然后去jenkins工程里面配置拉git代码,认证刚创建的用户就可以了。 ? 三、jenkins服务安装jdk,安装python,安装pipenv、xunit 1)安装python3.9: 1、查看Linux是否已安装python:ll /usr/bin/pyth* 3、新建安装目录:mkdir /usr/local/python39(也可以不创建此文件夹,会自动创建一个版本文件夹) 4、下载python安装包:wget?https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz 5、解压缩 & 进入目录: 6、准备编译环境: yum install gcc 7、安装make 命令,后续编译要用 ./configure --prefix=/usr/local/python39? 8、编译且安装 make && make install 9、查看编译器: /usr/local/python39/bin/python3 /usr/local/python37/bin/python3 /usr/local/python37/bin/python3 10.建立Python3和pip3的软链: sudo ln -s /usr/local/python39/bin/python3?/usr/bin/python3 sudo ln -s /usr/local/python39/bin/pip3 /usr/bin/pip3 sudo ln -s /usr/local/python39/bin/pipenv /usr/bin/pipenv 11、将/usr/local/python3/bin加入PATH (1)vim /etc/profile (2)按“I”,然后贴上下面内容: if?[?-f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/usr/local/python39/bin export PATH 按ESC,输入:wq回车退出。 备注:没权限就用sudo 修改完记得执行行下面的命令,让上一步的修改生效: source ~/.bash_profile 12、检查Python3及pip3是否正常可用: python3 -V pip3 -V 13、问题:pip3未识别出来 $?wget?https://bootstrap.pypa.io/get-pip.py $?python3 get-pip.py $?make && make install 报错:zipimport.ZipImportError: can't decompress data; zlib not available 解决:yum -y install zlib* vim /usr/local/python39/Python-3.9.2/Modules/Setup 去掉注释:#zlib zlibmodule.c cd? /usr/local/python3/Python-3.9.2 ?重新编译 参考:https://blog.csdn.net/weixin_39707693/article/details/109857512 https://www.cnblogs.com/wq-zhou/p/13063932.html https://blog.csdn.net/YMY_mine/article/details/103801458 2)安装依赖包: pip3 install requests 报错: Can't connect to HTTPS URL because the SSL module is not available. 解决方法: 1.编译安装OpenSSL 1.0.2j版本并重新配置环境变量 下载OpenSSL源码包: 2.解压缩,编译安装: ./config --prefix=/usr/local/lab/openssl-1.1.1l 安装目录: /usr/local/python39/Python-3.9.2/openssl-1.1.1l 3.修改源码目录 Python-3.7.3/Modules/Setup 文件: # Socket module helper for socket(2) # Socket module helper for SSL support; you must comment out the other # The crypt module is now disabled by default because it breaks builds #_crypt _cryptmodule.c # -lcrypt ? ?# crypt(3); needs -lcrypt on some systems 4.修改完成以后,还需要创建两个指向动态链接库的软链接文件: 5.make && make install 6、已安装python后,切换到python目录,重新make && make install 报错: /Modules/_ssl.c:55:10:?fatal error:?openssl/rsa.h: No such file or directory #include?"openssl/rsa.h" ? ? ? ? ??^~~~~~~~~~~~~~~ compilation terminated. 解决: sudo yum install openssl-devel 重新执行 make && make install,成功。 7、执行pip3 install requests,成功。 3)安装java 4)安装pipenv pipenv升级 5)安装xuint,生成html报告 四、构建: ?echo $PATH path,是执行shell脚本时默认去查的地址。 path设置,shell运行时,会调用的sys.path,是jenkins的全局变量,配置:首页》系统管理》环境变量〉path path:/usr/bin:/usr/local/python39/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/shopee/usr/java/jdk1.8.0_301/bin ?pythonpath? 是python运行时,import module的路径。(没有的话可能会找不到引用的module,或者找不到命令,命令找不到的,可以创建软链接到此目录) 五、构建后操作,生成html报告。 选择插件:Publish HTML reports 配置如下:官方解释文档:HTML Publisher | Jenkins plugin 如过遇到报告路径不存在的问题,可能是pythonpath问题,如上构建脚本,全局配置中没有pythonpath变量会解决此问题。 六、发送邮件 先配置全局变量。 选择构建后操作,配置 如图,环境不稳定时发送邮件: 选择构建后操作,配置 如图,构建情况发送邮件: ?添加邮件收件人。也可以重新定义邮件的名字和内容。邮件的默认值在jenkins的系统配置里面。 具体路径:首页》系统管理》系统配置》Extended E-mail Notification 注意:配置前需先配置全局变量: Extended E-mail Notification,需添加smtp邮件的认证。 Default Subject:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS! Default Content: $PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results. SMTP服务器:smtp.gmail.com 7、构建项目,检查邮件的收件。 其他: pipenv 均在jenkins的worspace下面的工程下进行 虚拟环境创建的,即pipenv install,创建虚拟环境。pipenv的路径在 python库的bin下,即which pipenv,usr/local/.../3.9/bin/pipenv,/usr/local/python39/bin/pipenv pipenv封装后,可以找到封装下面的依赖关系。python运行.py脚本,自动调用shell脚本里面的pythonpath。 pipenv 和xunit报告都是jenkins服务的全局安装。自动通过path,即sys.path调用。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/23 14:55:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |