IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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

Repository URL指代码仓库地址,复制Github仓库的地址填入即可。

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
ID 为后续在流水线脚本中引用的值,可不动。
Private Key点击Enter directly-> Add,在出现的输入框中粘贴你的私钥 id_rsa 中的值
最后点 OK,添加密钥?。

然后去jenkins工程里面配置拉git代码,认证刚创建的用户就可以了。

?

三、jenkins服务安装jdk,安装python,安装pipenv、xunit

1)安装python3.9:

1、查看Linux是否已安装python:ll /usr/bin/pyth*
2、查看当前使用python版本:python --version(Linux一般默认安装python2.7)

3、新建安装目录:mkdir /usr/local/python39(也可以不创建此文件夹,会自动创建一个版本文件夹)

4、下载python安装包:wget?https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz

5、解压缩 & 进入目录:
?? ??? ?tar -zvxf Python-3.9.2
?? ?? ? cd Python-3.9.2

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源码包:
wget?http://www.openssl.org/source/openssl-1.1.1l.tar.gz

2.解压缩,编译安装:
tar -zxvf?openssl-1.1.1l.tar.gz
cd?openssl-1.1.1l

./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 socketmodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/lab/openssl-1.1.1l/?? #取消这一行的注释,并将原来的/usr/local/ssl改为我们新安装的openssl目录:/usr/local/lab/openssl-1.0.2j/
_ssl _ssl.c \ ? ? #取消这一行的注释
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ ? ? ?#取消这一行的注释
-L$(SSL)/lib -lssl -lcrypto ? ? ?#取消这一行的注释

# The crypt module is now disabled by default because it breaks builds
# on many systems (where -lcrypt is needed), e.g. Linux (I believe).

#_crypt _cryptmodule.c # -lcrypt ? ?# crypt(3); needs -lcrypt on some systems

4.修改完成以后,还需要创建两个指向动态链接库的软链接文件:
ln -s /usr/local/lab/openssl-1.1.1l/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.1.0.0
ln -s /usr/local/lab/openssl-1.1.1l/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.1.0.0

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
pwd
env
cat Pipfile
pipenv install
echo `which xunit-viewer`
(export PYTHONPATH=`pwd` && pipenv run python 项目地址/suite/daily_check.py)

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调用。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:39:18  更:2021-10-12 23:43:23 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计