zoukankan      html  css  js  c++  java
  • centos7使用jenkins+svn+maven+ssh+sprintboot+selenium+python实现自动化构建以及自动化部署java maven项目,并触发自动化测试python项目

    一、jenkins服务器安装maven环境

    centos7安装maven

     二、jenkins服务器安装maven集成插件以及svn1.4 Compatibility 插件以及publish over ssh插件

    在浏览器中点击“manage plugnins”

    点击“可选插件”

    输入ssh ,出现Publish Over SSH插件列表,勾选它

    点击"安装后,不重启",跳转到更新页面列表

    显示Publish Over SSH插件已经完成安装,接着继续安装Maven Integration

     继续安装 svn 插件

     三、重启jenkins服务

    [root@localhost secrets]# systemctl restart jenkins

     四、重启登录8080

     五、全局工具配置maven和jdk环境

    管理jenkins-->全局工具配置

     1、配置maven的setting.xml

     2、配置jdk

      3、配置maven

     六、新建一个需要构建的maven项目

     1、输入svn地址

     2、 设置svn用户名密码访问

      

     

      

    3、保存配置

      

     4、点击"build now"开始构建

     此时页面下方显示此次构建进度条

     稍等一会,完成构建,期间可以点击本次构建下拉按钮,选择“控制台输出”实时查看构建日志

     

     提示构建成功生成了jar包文件

    接下来利用Publish over SSH插件来实现ssh自动登录并部署构建的jar包文件到目标服务器做更新

    七、在jenkins服务器上生成用于SSH自动登录的秘钥对文件

    如果之前有生成过密钥对,那可以直接用,不需要再生成

    [root@localhost ~]# cd ~/.ssh/
    [root@localhost .ssh]# ssh-keygen -f jenkins
    Generating public/private rsa key pair.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in jenkins.
    Your public key has been saved in jenkins.pub.
    The key fingerprint is:
    SHA256:464hNST86C2/ivPIoiVugCqdFti6vmT6CWsuBgseMng root@localhost.localdomain
    The key's randomart image is:
    +---[RSA 2048]----+
    |                 |
    |   .             |
    |    o .          |
    |     =           |
    |oo  . + S        |
    |X.E. o o .       |
    |XOoo+ o .        |
    |%@=+ + o         |
    |#XBoo.+o.        |
    +----[SHA256]-----+

    直接回车,不输入密码,也可以设置密码

    查看私钥

    [root@localhost .ssh]# cat jenkins
    -----BEGIN RSA PRIVATE KEY-----
    MIIEpAIBAAKCAQEA7bxoMO6bWyUbAR9JR9ZywhWl/SIuOjTdxm+SViyfAbwFuPqp
    T9FWZ6YRL+cArx10RMrYfMua8jcFPSUUmLjv3oDaXVeA+t733CzMaxUfdE8dgh8t
    s4qnZ7LHiYw0EHYWuoe9XHQ+koOZQ4O3+Gd7E354HyAFcLJtJ7dcEJRVgAAOvh9O
    OTfCJjuB+8wyrMU7THNbWgprLXbZtrxOKaHZrk5GsJojWlxtRWAbc1BI2JXwwAs6
    0lzpokcTJK6DOgd8e/8L2nPY1NvPoKMmszBOOTRWCb1bVrXfni/GbxNJy24IBSJk
    LwDANSDUj/BAKNUBZMuc8CRNJTcf3j2IZIWgNQIDAQABAoIBAEvWMD57vx9CJO0k
    t9GsvQrgsQSg5LI4rw5gBQRsU4TQH9s0StJlavTBavYm8HbsJGzVcF3O7Wya1Jb+
    vyVAyXPnEsF36nMcsWCRAdye7lvB6R3bKE7/ygswYqqkCO+/W9zA9E0L3/II/Nkm
    qYcaK466Z0M2icW7hUqIGVxIlUWxIZoR5mAOttZOlF/GJNm/HVUREZ1Hc+o31tpd
    FIo0+fyZ+xw//gsS+n3SHejq0iN+qBrSWXINZTu1zSeQ4lL7OkaLhFL9NDQA3gwp
    IYQHa+oC2FHPl76X+SDN5aQIJ0ZCTy70BdNIJwDYp1ARkwW0hQk7RVKdzjEO15Eh
    9iGRiwECgYEA+iLEKZSxe3WUWcKwEUkMLwQewWIa0NUkXa8gIg28dpP+suv+z82B
    rHq1Ua2h4Hovawv9pOMaypPBNsIMekiZEUx3LsLSOrLZGB7KYdnml1G8wpy5sG0J
    kcvbjjhykj00qsHo7o4WuYIonUoYGNremAB244vk1cvkIH/cQDwSbFUCgYEA8084
    jpbk+GGUfKmKLvVq7y99+2/N46Y60EAWDQPBFvd8UzU/+RGnhi0J0J3sk4qxtpfJ
    DspqBnRkGi7JMlu51ZNVFYMs20Vi6km/uBMyWeVaAv8zHH9vt7vby0F0hR/ZozE1
    iA3S89qGrPc3/w0E5qoNR0RSqCws6DNt5020RGECgYEAuVMA233bcYlP/KEOKgBh
    EoSO9OBm1crVQsP5nsFmnMRRtOa8x+GO7eeMZ5Opl9NvRnR/3KaWtvh58sQa0o7v
    Oa3Zr7+QWwUfa4uEjrMO8ZYRsG7F9T0UFf1gEiMoX8kROGKq3fRQSelxhffbmq6u
    tRfC/hwr02tY/es9mCnpzHECgYAE0aLbIB301WntdiYoe+/cQOKL4lD/m0E68qn9
    I//lBo3N0BYuRq08uROisB4JZgvTA/qVcmjbK973rcmKV8q8ciiTPn/a7+rfnQpR
    CQBMS4CW4psOi2+ZAf1+bxNxt4nF86mNwkhVUBSuxE61nHpmXyPYL4A7mHRjPPGG
    TUGuwQKBgQDcace6dsDAD6hXWXNIdL0CvjhVlfaKWyyaRhjibZkvanYd4tjp0W6G
    el7CQXpCvIbkdiE4mCMSpugq7QxgLLf4TciWLWi0XDz36QinLIZsfLJ+twAMyTDo
    QIn/fKfI/4p1PTZk20ku4GXGm6GzGI6lIGBjNKfBA/bQjyuXQUxvNA==
    -----END RSA PRIVATE KEY-----

    八、将生成的私钥复制到jenkins配置页面中

    点击“manage jenkins”

    点击"Configer System"

     滚动到页面最下方,看见Publish Over SSH配置,将私钥复制到"key"里,如果有密码,则将密码复制到Passphrase里,Path to key不用填

      

    九、新增SSH Server

     

      

     点击"Test Configuration"测试,报错“验证失败”,需要将公钥复制到目标服务器上

    十、将刚才生成的公钥复制到目标服务器的~/.ssh/文件中

     查看公钥

    [root@localhost .ssh]# cat jenkins.pub 
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtvGgw7ptbJRsBH0lH1nLCFaX9Ii46NN3Gb5JWLJ8BvAW4+qlP0VZnphEv5wCvHXREyth8y5ryNwU9JRSYuO/egNpdV4D63vfcLMxrFR90Tx2CHy2ziqdnsseJjDQQdha6h71cdD6Sg5lDg7f4Z3sTfngfIAVwsm0nt1wQlFWAAA6+H045N8ImO4H7zDKsxTtMc1taCmstdtm2vE4podmuTkawmiNaXG1FYBtzUEjYlfDACzrSXOmiRxMkroM6B3x7/wvac9jU28+goyazME45NFYJvVtWtd+eL8ZvE0nLbggFImQvAMA1INSP8EAo1QFky5zwJE0lNx/ePYhkhaA1 root@localhost.localdomain

    进入目标服务器的~/.ssh/目录下,新建authorized_keys文件

    [root@zabbix_server .ssh]# vim authorized_keys

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDtvGgw7ptbJRsBH0lH1nLCFaX9Ii46NN3Gb5JWLJ8BvAW4+qlP0VZnphEv5wCvHXREyth8y5ryNwU9JRSYuO/egNpdV4D63
    vfcLMxrFR90Tx2CHy2ziqdnsseJjDQQdha6h71cdD6Sg5lDg7f4Z3sTfngfIAVwsm0nt1wQlFWAAA6+H045N8ImO4H7zDKsxTtMc1taCmstdtm2vE4podmuTkawmiNaXG1FYB
    tzUEjYlfDACzrSXOmiRxMkroM6B3x7/wvac9jU28+goyazME45NFYJvVtWtd+eL8ZvE0nLbggFImQvAMA1INSP8EAo1QFky5zwJE0lNx/ePYhkhaA1 root@localhost.loc
    aldomain

     

    保存退出。再次测试成功登录

     保存设置后,继续设置构建项目里的SSH部署设置

    十一、配置构建项目里的“构建后操作”->“增加构建后操作步骤”-"send build artifacts over ssh"

      

     

     保存,退出。

    十二、测试构建项目,并自动部署到目标服务器

    1、点击"build now"开始构建

    2、查看控制台输出

     已成功部署一个文件

    到目标服务器查看

    -rw-r--r-- 1 root root 20144387 6月  22 13:54 hl95_sms_tag-0.0.1-SNAPSHOT.jar
    [root@zabbix_server target]# pwd
    /home/java_project/hl95_sms_tag/target
    [root@zabbix_server target]# 

    jar文件已部署。

     十三、jenkins服务器安装allure commandline工具

    1、下载压缩包

    [root@localhost jenkins]# cd /usr/local/src/
    [root@localhost src]# wget https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.9/allure-commandline-2.13.9.tgz

    2、解压到/usr/local

    [root@localhost src]# tar -zxvf allure-commandline-2.13.9.tgz -C /usr/local/

    3、添加环境变量

    [root@localhost src]# echo "export ALLURE=/usr/local/allure-2.13.9/bin">>/etc/profile
    [root@localhost src]# source /etc/profile
    [root@localhost src]# echo $ALLURE
    /usr/local/allure-2.13.9/bin
    [root@localhost src]# echo "export PATH=$PATH:$ALLURE">>/etc/profile
    [root@localhost src]# source /etc/profile
    [root@localhost src]# allure --version
    2.13.9

    十四、jenkins安装allure插件

    十五、jenkins配置allure commandline工具

    在全局工具配置中,找到Allure Commandlinea安装

     十六、在jenkins服务器上添加需要执行远程自动化测试的windows客户端slave节点配置

    参考:jenkins添加windows slave节点

    十七、在jenkins上新建新任务用于执行远程自动化测试python项目

    1、输入任务名称,选择自由风格项目

    2、general输入描述,以及设置“限制项目运行节点”里输入目标windows节点标签

     3、高级里选择“使用自定义工作空间”设置python 项目的具体目录

    4、新建构建步骤:选择“执行windows批处理命令”,输入执行python项目入口文件

     

    5、增加构建后步骤:选择allure report

    6、设置path为python项目中pytest执行命令中--alluredir参数指定的目录路径,这里存放这allure生成的测试报告json文件,jenkins利用allure commandline工具根据这里指定的测试报告json文件来生成测试报告HTML文件,并可以设置测试报告生成的目录

    7、保存成功后可以看到新建的任务上有一个allure report图标

     8、构建python项目看看是否能成功生成测试报告

     控制台显示,此构建正在windows节点上执行

    此时登录windows节点服务器,能够看到浏览器自动打开,并执行测试页面,测试执行完成后,开始生成allure报告,日志显示:

     提示,没有找到allure命令行工具,这时需要在“系统配置”

    “全局属性”-》勾选“tool location”

    新增“工具位置列表”

    选择“(allure commandline)allure-2.13.9”

    点击“保存”,返回再次执行任务,发现还是报错:

     在远程节点执行任务时,是使用远程节点的工具命令行,而不是jenkins服务器上的工具命令,所以需要在远程节点上配置allue commandline工具

    9、在windows节点下载allure工具

    下载压缩包

    https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.9/allure-commandline-2.13.9.zip

    解压到指定目录,例如:D:soft win7IDEA2020allure-2.13.9

    10、在windows slave节点属性里,新增allure commandline工具位置表

    11、在windows slave节点属性里,新增JAVA_HOME环境变量

    点击保存,再次执行任务,日志显示成功

     返回任务列表,可以看到任务执行列表右边有一个allure测试报告图标

    点击图标,打开测试报告

    即可查看测试报告页面。

     

  • 相关阅读:
    sb世博
    seo 工具集锦
    各种Windows 操作系统中的 .NET Framework 支持
    httplib2模拟登陆
    python tips
    B2C电子商务能否通吃线上线下?
    复制镜像
    Scale Stack vs node.js vs Twisted vs Eventlet
    pool=eventlet.GreenPool(20)
    nginx最新部署
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/14917392.html
Copyright © 2011-2022 走看看