一、linux搭建jenkins+github详细步骤

事情缘由:

  现在在做的主要工作是通过jenkins+postman实现api的自动化测试,想要达到的效果是,api自动化测试定时跑脚本的同时,github有新的代码提交,jenkins会自动检测部署新提交的代码,并且再次将api自动化脚本跑一边,发送出测试报告;

  饭要一口一口吃,搭建环境要一步一步走;现在呢,先把基本的github有push自动触发jenkins构建部署先搞定;

  我是搭建在linux上的,之前想在本地部署一个windows版本的jenkins先把环境调通,在搬到服务器上;结果是各种坑啊,首先网上的很多资料都有点陈旧,很多的配置项都对不上号,配置github的钩子也老是失败;果断放弃转战linux服务器,没想到挺顺利的;

废话少说,开始:

  首先大家都知道jenkins是基于java的,所以得确定你的服务器上是否部署了java环境,而且版本也有要求,我部署的是openjdk 1.7版本;方法点这里;也可以是orancle jdk 5以上;

  然后是https://jenkins.io/index.html,jenkins主页,下载war包

  

可以直接下载这个2.32.2的war包,好处就是不用单独安装各种插件,像github相关的Github Plugin、plain-credentials 、git 、 credentials 、 github-api等都会自动安好;

  下载完成后,可以借助xftp等工具将war包上传到服务器系统中;上传后,直接键入命令(注意用户权限问题):java -jar jenkins.war &,此时jenkins会自动安装部署,并在/root下生成.jenkins目录作为jenkins的工作目录:/root/.jenkins/workspace/;在安装日志的下方会给出一个长串的密码,这是首次登陆jenkins必须的,要眼尖copy下来备用,类似于这个:76a02d8a4f1b480a8ed9482d08bcfxxx;或者在http://服务器地址:8080/,首次登陆页面会提示需要/root/.jenkins/secrets/initialAdminPassword文件中的密令;

 

  命令java -jar jenkins.war & 不好的一点是虽然进程在后台运行,我们还可以进行其他的操作,但是jenkins运行中产生的日志信息,还是会展示在控制台;

  更加好点的命令:

  java -jar jenkins.war >jenkins_logs/jenkins.log 2>&1 &

  这个命令是将jenkins服务相关的控制台输出重定向到jenkins_logs目录下的jenkins.log文件中,包括标准输出和标准错误输出;

  当然有了日志文件,一般就会考虑自动备份跟自动清空日志文件:

  crontab -e   #进入计划任务编辑模式

  * 0 * * * cp jenkins.log backup/$(date +%m%H%M) ;echo "" > jenkins.log   ##每天晚上0点将jenkins.log备份到backup目录下,以当时时间为文件名。然后清空jenkins.log;

  部署完成后,就可以打开你的本地浏览器,输入http://服务器ip地址:8080/,就可以访问jenkins,首先应该是让输入上面给的长串密码,然后是创建首个admin用户,然后是选择安装插件,选择第一个suggest的插件,算是比较全的了,配置github的插件都包括了;

  安装完成后,就可以来配置jenkins的配置项了;

配置jenkins:

 1、配置github插件:

  主页》》系统管理》》系统设置:

  

  GitHub节点,GitHub Servers选择Add GitHub Server,其中API URL不用修改,点击Credentials的add增加一个jenkins访问github的token;到这个地方需要先暂停一下,到github新增一个token给jenkins使用,所以切换到github页面,Settings》》Personal access tokens,点击Generate new token;

  

  填写Token描述,用以区分不同的Token,下面的scops选择如下两个:

   

  点击下方会生成一串字母,这一串字母就是给jenkins分配的认证码;点击复制,回到jenkins;

  

  红框处分别填写对应的内容,Secret即为生成的Token认证码,点击add返回配置页面;

  

  Credentials项选择新增的Token配置,点击Test connection,若出现如同上图中的提示,则表明设置成功,jenkins能够正常访问到github;点击下方的保存,基本的github配置就完成了;

创建一个job:

  1、创建一个自由风格的任务;

  2、GitHub project下填写你需要配置的github仓库的链接;

  

  3、源码管理中,Git下填写Repository URL,类似于仓库地址后面的仓库名改成.git;Credentials增加一个有读写权限的用户,选择用户名和密码的方式就好;

    

   4、分支管理,可以定制哪一个分支,没有定制则代表任意分支;源码库浏览器选择githubweb,URL即仓库地址;

  

   5、构建触发器选择:GitHub hook trigger for GITScm polling,在不知道哪个版本的时候,Build when a change is pushed to GitHub改成了GitHub hook trigger for GITScm polling,所以很多网络上的文章中提到的Build when a change is pushed to GitHub,你是找不到的;

   

  6、构建环境选择如图,下面的Bindings中Credentials选择之前配置过的Token;

  

  7、构建,可以选择多个构建的步骤,表示构建过程执行那些操作;在Execute shell中详细写入构建具体的操作步骤,截图中我是随便写的;注意jenkins在服务器中执行脚本时,默认的当前目录是jenkins的工作目录,即/root/.jenkins/workspace/;在此基础上切换目录执行;

  

  8、构建后操作,选择如图Set build status on GitHub commit [deprecated],高级配置中配置如下,后点击下方的保存,任务就配置完成了;

  

 

配置github的web hook:

  1、回到github页面,选择你需要配置的仓库,点击Settings,注意是指定仓库的Settings,跟之前的github的Settings是不同的;

  2、Webhooks页面配置钩子:完后点击新增,我截图是打开了一个配置好的,所以是update;

  

 

   至此配置完成,在github上上传一个文件试试看吧,应该能够触发jenkins执行构建命令;

 

打开用户注册开关

  jenkins安装完成后,默认只能是最初创建的admin用户可以登录使用,没有其他用户注册的地方,是因为用户注册的开关默认是关闭的;配置也很简单:

  jenkins >> 系统管理 >> Configure Global Security:

  

  将允许用户注册勾选,保存后再将jenkins链接共享出去,jenkins主页就会出现登陆和注册按钮;

 

 

 

 

下面附上jenkins教科书式的博客链接,希望大家能有所收获,也感谢博主分享: 

http://blog.csdn.net/wangmuming/article/category/2167947

 

转载于:https://www.cnblogs.com/zanjiahaoge666/p/6374837.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab插值与拟合例题_MATLAB中数据插值和数据拟合的用法

一、数据插值:插值是在一组已知数据点的范围内添加新数据点的技术。可以使用插值来填充缺失的数据、对现有数据进行平滑处理以及进行预测等。MATLAB 中的插值技术可分为适用于网格上的数据点和散点数据点。从数学上来说,数据插值是一种函数逼近的方法。数…

python中with的用法_python 中 with的用法

with 语句使用于对资源进行访问的场合,确保不管使用过程是否发生异常都会执行必要的"清理"操作,释放资源,比如文件使用后自动关闭/线程中锁的自动获取和释放with open("1.txt") as file:data file.read()使用with,能够减少冗长,还能自动处理上…

半导体行业深度报告:从应用到行业的全面复苏

来源:国金证券一、2020-2021年全球半导体市场投资展望多种因素导致全球半导体市场于 2019 年同比下跌近 13%到 4,102 亿美元,而存储器行业同比下跌超过 30%,逻辑半导体同比下跌近 2%。存储器市场占全球半导体市场达到近三年低点的 27%。但受惠…

ES6精华: 解构运算符 扩展运算符 剩余运算符

http://www.tuicool.com/articles/26bAzmm转载于:https://www.cnblogs.com/xuezizhenchengxuyuan/p/6378382.html

mysql 8 修改root密码忘记_忘记mysql8或者mariadb5及以上 的root密码如何更改

实验环境操作系统:lsb_release -aNo LSB modules are available.Distributor ID:UbuntuDescription:Ubuntu 20.04.1 LTSRelease:20.04Codename:focalmysql数据库版本:mysql基本信息具体步骤1. 停止mysql (sudo service mysqld stop 或者 kill -TERM mysq…

配置tomcat_Tomcat 配置必备的 10 个小技巧,让你轻松玩转Tomcat

现在开发Java Web应用,建立和部署Web内容是一件很简单的工作。使用Jakarta Tomcat作为Servlet和JSP容器的人已经遍及全世界。Tomcat具有免费、跨平台等诸多特性,并且更新得很快,现在非常的流行。你所需要做的就是:按照你的需求配置…

卫星移动通信现状与未来发展

来源:电子万花筒摘要:卫星移动通信系统具有覆盖范围广,对地面情况不敏感等优势,已经成为地面移动通信领域重要的组成部分,尤其是在空中、海洋、荒漠戈壁等地面无线网络难以覆盖的地方。随着科学技术的不断进步&#xf…

【SpringCloud】Netflix源码解析之Ribbon:负载均衡策略的定义和实现

Ribbon负载均衡策略定义 IRule其实就只做了一件事情Server choose(Object key),可以看到这个功能是在LB中定义(要求)的,LB把这个功能委托给IRule来实现。不同的IRule可以向LB提供不同的负载均衡算法。 public interface IRule{ pu…

mysql load data infile 重写_mysql load data infile 命令的数据导入

文章介绍了mysql load data infile 命令的数据导入,该方式比直接的insert的效率要高,按照官方的说法是要比insert语句快上20倍,有需要的朋友可参考。使用方式如下:代码如下复制代码mysql>load data local infile "D:/ab.txt" in…

DARPA发布战略框架文件旨在 为美国国家安全创建突破性新技术能力

来源:ARPA网站/图片来自互联网12月4日,DARPA公开了于今年8月份完成的2019年度战略框架文件《面向国家安全创建技术突破和新能力》,阐述了该机构面临的威胁环境,并提出了未来几年的发展计划。1应关注的重点该框架文件指出&#xff…

python数学公式pdf文件的转换_python转换文件 多种文件转换为pdf

1.office文件这里用的是win32com, 需要注意已经安装的python版本是32位还是64位。安装后导入from win32com.client import Dispatch, constants, gencache, DispatchEx(1) word转PDFgencache.EnsureModule({00020905-0000-0000-C000-000000000046}, 0, 8, 4)w DispatchEx(&quo…

rust矿洞绳子怎么爬下_rust矿洞绳子怎么爬下_打工小伙爬冰救人,每动一下都能听到冰面碎裂声...

近日,在辽宁沈阳鲁迅公园,一男子掉进湖中冰窟窿,露出脑袋不停地呼救。生死时刻,一位正在附近找零活的小伙,不顾冰面碎裂发出的咔咔声,一步步爬冰救人,最终在岸上众人帮助下,成功救出…

Python爬虫入门四之Urllib库的高级用法

1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性。 首先,打开我们的浏览器,调试浏览器F…

Magic Leap 价值 20 多亿美元的 AR 幻梦,现在醒了

来源:传感器技术那个用特效来吹出 AR 神话的 Magic Leap,终于有了新动静。 当地时间 12 月 10 日,增强现实(AR)领域的“知名”公司 Magic Leap 宣布,将 Magic Leap One Creator Edition 改名为 Magic Leap …

mysql约束_不是吧,阿Sir,MySQL约束你竟然还不懂!

以前写的太乱了,翻出来重新整理下系列目录:MySQL入门,问题不大【增删改查极速上手】(一) 引入约束(1) 约束出现在哪里? 想要讲解约束,就要知道约束用在哪里,用来干嘛?SQL 语言通过定义一个关系所…

dc持久内存与mysql_Calypso Systems推出测试软件和服务器测试傲腾数据中心级持久内存...

Calypso Systems测试Optane DCPMM(DC Persistent Memory Module 数据中心级持久性内存模块)的性能,带宽超过36500MB/s(顺序读写速度128000MB/s),每秒读写速度为3240万IOPS(顺序读取速度5000),平均响应时间达到0.11微秒。Calypso PM(持久性内存…

计算机行业研究及2020年策略:聚焦主赛道,投资真成长(84页)

来源:国元证券1、行业涨幅位居前列,个股表现精彩纷呈……2、IT 产业大变革,新机遇不断涌现近年来,以 5G、物联网、云计算、大数据、人工智能、区块链等技术为代表的信息 科技行业快速发展,新兴技术不断涌现&#xff0c…

最长回文串_第78天——第78题(最长回文串 )

今天又是阴天,不过阴天凉快,我喜欢。第78天——第78题(最长回文串)看题目!给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比…

python是后端语言还是前端语言_从前端到后台-语言选择

截止至2019年10月,TIOBE编程语言排行如图所示这里重点考虑前三种语言和JS。C作为底层语言直接忽略,主要对JAVA,Python和JS进行对比。JAVA: 强类型静态语言,入门较Python难度更大,常用于企业级应用。如金融,…

二进制权值计算 lsb_2020年二级计算机基础知识备考(第二章)

点击蓝字关注我们哟~2020年9月全国计算机等级考试倒计时29天,还没有好好备考的小伙伴们抓紧时间备考了~今天,跟着考无忧继续备考一下二级计算机基础知识的《第二章 信息的表示和储存》。2.1数据与信息1.数据:客观事物的符号表示,如…