2020年7月22日--25--jenkins的使用

jenkins的概念与使用

# ================================
# -*- coding:utf-8 -*-
# @Author:henry
# @Time:2020/7/23 15:41
# Email:yinpingwei@gmail.com
# @File: Jenkins的使用.py
# =================================
''
'''
# Jenkins的4大概念
1、job --- 在本地.jenkins目录下的
2、workspace(工作空间) --- 在本地.jenkins目录下的,存放job相关的资料,例如从git和svn上下载的资料
3、plugin
 
第一个概念job: 
    1.一个任务/项目。 
    
    2.创建任务 -- 新建Item
        2.1 选择最常用的Freestyle project--自由式项目
        
    3.任务配置() 
        3.1 General(基本配置)最常用的
            1. Discard old builds(清楚旧的版本)在这可以设置:
                需要保持构建的天数,只会保存在设定的天数内的记录版本
                保持构建的最大个数,只会保存在设定的最大构建数量的记录
                
            2. 关闭构建:
                是将该项目关闭掉,返回面板即可启用
                
            3. 使用自定义的工作空间:
                每个任务都有个默认的任务空间,可以在这里选择使用自定义的工作空间
                需要指定目录的工作空间:例如 F:\PyChaer-workspare\pp11 
                
            4. 描述:写不写无所谓
    
    
        3.2 源码管理
            1 默认是无 --- 表示在电脑本地,无需去配置
            2.选择git需要配置 --- 
                需要配置的工程url
                与之相对应的登录账号密码
            3.选择svn需要配置---
                需要配置的工程url
                与之相对应的登录账号密码
                
        3.3 构建触发器
            1.表示触发这个任务啥时候去构建,定时,周期性的去执行
            2.最常用的是 Build periodically(定时构建):
                一共有五个单位:
                    1.MINUTE(分钟)	Minutes within the hour (0–59)  每一小时的0-59分
                        H表示分钟随机,不要求一定是整分
                        0表示分钟一定是整分
                    2.HOUR(小时)	The hour of the day (0–23) 每一天的0-23小时
                    3.DOM(天数)	The day of the month (1–31) 每个月的1-31天
                    4.MONTH(月份)	The month (1–12) 每一年的1-12月
                    4.DOW(周)	The day of the week (0–7) where 0 and 7 are Sunday. 每周的7天,其中1-6表示周六,0-7表示周日
                格式:
                    1. *表示指定所有有效值(代表所有):0 10 * * * (用*表示代表匹配所有,用空格隔开)
                    2. M-N表示指定一个值范围:0 8 * * 1-5   (1-5表示执行这个连续的有效值1,2,3,4,5)
                    3. M-N / X或* / X以X的间隔逐步达到指定范围或整个有效范围:0 9 * * 1-5/2    (1-5/2表示执行这个连续的有效值1,2,3,4,5,但是每2天执行一次)
                    4. A,B,...,Z枚举多个值:0 8,13 * * *   (枚举和8,13是小时)
                    
                例如:现在有4种方案需求:
                    1.每天上午10点执行:0 10 * * *  (0是整分,10是小时,* * * 用*表示代表匹配所有,用空格隔开) 
                    2.只需要周一到周五的早上8点执行:0 8 * * 1-5   (0是整分,8是小时,* *用*表示代表匹配所有 ,(1-5表示执行这个连续的有效值1,2,3,4,5))
                    3.早上8点运行一次,下午13点运行一次:0 8,13 * * *   (0是整分,枚举和8,13是小时,* * *) 用*表示代表匹配所有)
                    4.早上8点运行一次,下午13点半运行一次:
                        0 8, * * *
                        30 13 * * 1-5
                        写两次就可以表示 下午01时30分执行一次,下一次第二天早上上午08时00分执行
                    5.只需要周一到周五的早上9点执行,但是是每两天执行一次:0 9 * * 1-5/2    (0是整分,9是小时,* *用*表示代表匹配所有,(1-5/2表示执行这个连续的有效值1,2,3,4,5,但是每2天执行一次))
            
            3.这个是Poll SCM(源码管理) ---- 轮询源码是否有更新触发构建
                1.会去轮询源码,
                    例如:执行时间到了,去查看下源码是否有更新,如果有更新就去构建;如果没有更新,就不构建
                2.执行时间为第一条件,以源码是否更新为第二条件的
                        
        3.4 构建环境(基本用不到,了解下)
            1.Delete workspace before build starts:删除工作空间在构建开始之前
            2.Use secret text(s) or file(s):使用加密文本或者文件
            3.Add timestamps to the Console Output:将时间戳添加到控制台输出
            4.Inspect build log for published Gradle build scans:检查生成日志以查看已发布的Gradle构建扫描
            5.With Ant:
        
        3.5 构建(这个任务的执行步骤)
            比较重要的2个是:
                1. Execute Windows batch command: 在Windows电脑上执行Windows命令行 
                     echo %WCRKSPACE%    输出当前的工作空间
                     e:
                     cd E:\Python-workspace\py30\class_Lesson_Apl
                     python main.py(执行的文件)
                     
                2. Execute shell: 在Linx上执行shell命令行
        
        3.6 构建后操作
            1.在jenkins上呈现报告结果:
                Publish HTML reports的设置:  展示HTML的报告
                    1. HTML directory to archive :HTML的目录- 就是报告所在的目录
                        基本上要求报告的路径要相对于工作空间的路径
                            1.第一种解决方案:将代码上传到svn或者git上,下载下来就是在指定的工作空间
                            2.第二种解决方案:是将代码copy到工作空间,执行
                            3.第二种解决方案:是在基本配置的高级选项里自定义工作空间
                                自定义后的报告位置
                    2. Index page[s] :配置的名字
                    3. Index page title[s] (Optional) :可选择可不选
                    4. Report title :报告的标题
                jenkins呈现html报告:
                    1.需要在:Manage Jenkins->Script console
                    2.执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
                    3.然后在重新构建一次就可以查看完整有图形的报告
                    
            2.发生邮件通知
                1.E-mail Notification:默认自带,指定收件人,只会在构建失败才会给你发,成功不会发
                    1.Recipients:邮件接收人,可以写一个,也可以多个,以空格隔开
                    2.发送内容没法定制化,一般不用
                2.Editable Email Notification: 可编辑的邮件通知,这会是常用的
                    1.Project From: 发件人邮箱,写自己的
                    2.Project Recipient List: 邮件接收列表,明确告诉你用逗号隔开
                    3.Project Reply-To List: 
                    4.Content Type: 默认的邮件的正文类型
                        1.HTML(text/html):html类型  ---- 选择html类型
                        2.Plain Test(text/plain) :文本类型 
                        3.Defauit Content Type:默认的内容样式 
                    5.Default Subject: 邮件的正文主题--- 如:接口自动化构建
                    6.Default Content: 邮件正文的内置变量(有模板,百度一堆(jenkins自动化测试模板),一般可以满足大部分需求)
                    7.Attachments:附件,把测试报告作为附件上传上去,相对路径
                    8.Attach Build Log:附加的生成日志
                    9.Content Token Reference:
                    
                3.在发生邮件前,需要在Manage Jenkins-configue system 里配置信息:
                    1.找到Jenkins Location进行配置:
                        1.1 Jenkins URL:http://127.0.0.1:8080/   注意端口要写对
                        1.2 系统管理员邮件地址:是发件人的邮箱地址
                        
                    2.找到邮件扩展的通知 Extended E-mail Notification:
                        2.1 找到邮件通知:
                            1. SMTP服务器:smtp.qq.com   注意不同的邮箱SMTP地址不一样,或者公司自己的邮箱服务器
                            2. 用户默认邮件后缀:
                            3. 点开高级选项:
                                1.勾选使用SMTP认证
                                    输入用户名:邮箱的账号,例如我是用于qq登录的,那么就是qq账号
                                    密码:这个邮箱的授权码,例如以qq邮箱为例,在设置里开启POP3/SMTP服务,需要生成的授期权填在在就密码
                                2.勾选使用SSL协议
                                    SMTP端口:如果使用SMTP端口默认是465      
                                        如果不使用SMTP端口默认是25
                                    Reply-To Address:收件人地址,可填可不填
                                    字符集:默认为 UTF-8
                                3.勾选通过发送测试邮件测试配置,来进行测试邮箱是否配置好了:
                                    Test e-mail recipient: 收件人邮箱
                                    
                    3.找到Extended E-mail Notification(邮件插件的配置):
                        3.1 SMTP server(邮箱服务器地址):smtp.qq.com   注意不同的邮箱SMTP地址不一样,或者公司自己的邮箱服务器
                        3.2 Default user E-mail suffix(默认的邮箱后缀):可以不写
                        3.3 点开高级选项:
                            1.勾选Use SMTP Authentication(SMTP的授权认证)
                                User Name:邮箱的账号,例如我是用于qq登录的,那么就是qq账号
                                Password:这个邮箱的授权码,例如以qq邮箱为例,在设置里开启POP3/SMTP服务,需要生成的授期权填在在就密码
                            2.勾选Use SSL:
                                SMTP port:如果使用SMTP端口默认是465   
                                        如果不使用SMTP端口默认是25
                                字符集:默认为 UTF-8
                        3.4 Default Content Type(默认的发送文本类型):是可以选择的
                            HTML(text/html):html类型的文本
                            Plain Test(text/plain):
                        3.4 Default Recipients(默认的收件人):填自己,可配置可不配置
                        3.5 保存当前配置
                        
                4.在发生邮件前,还需要在当前项目的配置里填写发送邮件的配置信息:跳到 2.发生邮件通知

    4.执行任务
        4.1 Build Now-表示执行当前构建
        4.2 默认是有装jenkins所在的电脑来执行的
        
    5.任务结果展示
    6.如何查看控制台输出
        6.1 点击当前执行的记录,在点击控制台输出即可查看
 
第二个概念workspace(工作空间):
    1. 默认是用来存放job相关的资料、产出资料。比如,jenkins从svn/git上下载的代码,会自动放到job的workspace
    2. 每个job都有一个相对应的workspace(工作空间)
    
第三个概念plugin(插件):
   1.相当于python的第三方库。
   2.让jenkins具备更多的功能。
   3.需要在 Manage Jenkins -> Manage Plugins 可查看已安装和可以更新的插件
 
'''

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值