Jenkins+github的一次定时构建示例
首先说明,我的电脑环境是windows,所以以下的示例是基于windows10 X64。
一、新建任务,填写名称,选择类型,点击左下角的【确定】
二、配置
1、General
2、源码管理
之前在github上配置了公钥(配置的东西看这里https://www.cnblogs.com/zichuan/p/9274785.html)这里要拉取github的代码,需要配置私钥,点击Add,弹窗中填写数据。
3、构建触发器
这里我用的是定时任务,一般项目也用的这个选项吧。
4、构建环境
这个模块默认即可,这个示例用不到
5、构建
6、构建后操作
我这里设置的比较简单,就是发送邮件。
三、查看构建的结果
以上设置完成之后,点击【保存】,点击左边菜单栏的【立即构建】,可以查看构建的结果。
以上,在整个示例过程中,我遇到了一个坑,说大不大,说小不小。我只能说,windows和Linux还是区别的,下面来说说这个坑的发生过程:
1、我是windows环境,然后在构建的时候选择了执行shell脚本,然后改了很多地方,还是没解决,报错方式是这样的:
- [0716_test] $ sh -xe C:\WINDOWS\TEMP\jenkins1910652898694296835.sh
- The system cannot find the file specified
- FATAL: 命令执行失败
- java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
- at java.lang.ProcessImpl.create(Native Method)
- at java.lang.ProcessImpl.<init>(Unknown Source)
- at java.lang.ProcessImpl.start(Unknown Source)
- Caused: java.io.IOException: Cannot run program "sh" (in directory "C:\Program Files (x86)\Jenkins\workspace\0716_test"): CreateProcess error=2, 系统找不到指定的文件。
- at java.lang.ProcessBuilder.start(Unknown Source)
- at hudson.Proc$LocalProc.<init>(Proc.java:249)
- at hudson.Proc$LocalProc.<init>(Proc.java:218)
- at hudson.Launcher$LocalLauncher.launch(Launcher.java:929)
- at hudson.Launcher$ProcStarter.start(Launcher.java:449)
- at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
- at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
- at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
- at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
- at hudson.model.Build$BuildExecution.build(Build.java:206)
- at hudson.model.Build$BuildExecution.doRun(Build.java:163)
- at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
- at hudson.model.Run.execute(Run.java:1794)
- at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
- at hudson.model.ResourceController.execute(ResourceController.java:97)
- at hudson.model.Executor.run(Executor.java:429)
- Build step '执行 shell' marked build as failure
- Finished: FAILURE
找了我半个多小时,然后在这里找到了比较明确的说明以及解决方案:https://stackoverflow.com/questions/30374998/run-a-command-shell-in-jenkins。但是我试了添加系统环境变量和更改Jenkins的shell配置这两种方法都没成功,还是算了,老老实实选择“执行windows批处理命令”。有兴趣的看客可以试试,成功了给我留个言即可,在此谢过。
补充:针对构建模块中的语句,此示例中是python xx.py,如果构建之后日志中提示“python不是内部或者外部命令”。请先在cmd中尝试执行python的命令(例python,回车。可以查看Python的版本)看是否成功。报错的原因是执行Jenkins的系统用户环境变量中没有python的环境变量,所以解决方法是:在系统环境变量path中添加python.exe这个文件的路径!
——日月盈昃,辰宿列张
Jenkins+github的一次定时构建示例的更多相关文章
- Jenkins自动发送邮件配置及定时构建
前言 在配置之前,我们需要安装好Jenkins,对于如何安装不在赘述,看我之前一篇安装教程(或者找度娘,教程很多).接下来我们开始详细讲解build运行完成后自动发送邮件和定时自动构建build 系统 ...
- jenkins自动化部署项目9 --定时构建
举几个例子:每隔5分钟构建一次H/5 * * * * 每两小时构建一次H H/2 * * * 每天中午12点定时构建一次H 12 * * * 每天下午18点定时构建一次H 18 * * * 在每个小时 ...
- jenkins定时构建示例
项目:使用git+jenkins实现持续集成 开始构建 General 源码管理 我们安装的是git插件,还可以安装svn插件 我们将git路径存在这里还需要权限认证,否则会出现error 我们添加一 ...
- jenkins持续集成:定时构建语法
构建位置:选择或创建工程_设置_构建触发器 1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月 ...
- git+jenkins持续集成三-定时构建语法
构建位置:选择或创建工程_设置_构建触发器 1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月 ...
- git+jenkins持续集成二-jenkins定时构建语法:定时构建语法
构建位置:选择或创建工程_设置_构建触发器 1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月 ...
- jenkins里的定时构建
1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月的第几天,取值1~31第四个*表示第几月,取 ...
- Jenkins系列——定时构建
1.环境说明 操作系统:win7旗舰版64bit jdk:sun JDK1.7.0_80 64bit tomcat:apache-tomcat-8.0.41 jenkins:2.32.3LST 本系列 ...
- Jenkins环境搭建(4)-配置定时构建
每次手动触发job构建,是很麻烦的一件事情,job中可以配置定时构建,今天就来分享下定时构建:构建分为两种:定时构建和轮询SCM. 一.定时构建 Jenkins采用了著名的UNIX任务调度工具CRON ...
随机推荐
- javascript数组元素全排列
多个数组(数量不定)例如三个数组 {a,b} {1,2} {d}排列组合后为a,1,da,2,db,1,db,2,d是js的算法哦 var arr = [["a","b& ...
- CSS样式之a标签(原文网址http://www.divcss5.com/shili/s57.shtml)
这是个人在做网站的时候整理的关于a标签的使用方法,整理一下,方便下次使用. 一.a超链接的代码 <a href="http://www.baidu.com" target=& ...
- hornor8改user模式为debug模式
在学习Android软件安全的过程中,经常要用到Android的动态调试.但是呢,一般的Android应用在发布的时候都是发布版的不能直接被调试,为了能使Android应用能够支持调试就需要对Andr ...
- PRINCE2是什么?
PRINCE是PRoject IN Controlled Environment(受控环境下的项目管理)的简称. PRINCE2描述了如何以一种逻辑性的.有组织的方法,按照明确的步骤对项目进行管理. ...
- 'webpack' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
npm updatea -g 很严重,把本地npm安装包都更新了,跟项目npm安装包版本不一,导致 意思是版本冲突,手动卸载了,重新安装还是最新版本,很是头疼.找同事的电脑拷贝了一份,然后复制过来报“ ...
- ASP.NET Core 系列[1]:ASP.NET Core 初识
ASP.NET Core 是一个跨平台的高性能开源框架,是一个用于连接到互联网的基于云的现代应用程序. ASP.NET Core 用于构建如 Web 应用.物联网(IoT)应用和移动后端应用,这些应用 ...
- Flask的数据库连接池 DBUtils
Flask是没有ORM的操作的,如果在flask中连接数据库有两种方式 一.pymysql 二.SQLAlchemy 是python操作数据库的以一个库,能够进行orm映射官网文档 sqlchemy ...
- [C++] 用Xcode来写C++程序[2] 操作变量
用Xcode来写C++程序[2] 操作变量 此节讲解包括变量的初始化的几种方式,以及泛型编程的两种变量赋值方式. 最基本的变量赋值以及操作: // operating with variables # ...
- Python学习---Django拾遗180328
Django之生命周期 前台发送URL请求到Django的中间件进行内容校验,完成校验后到达路由映射文件url.py,然后调用视图函数views.py里面的函数进行内容处理[ 1.操作数据库进行数据读 ...
- Vue安装以及Vue项目创建以及Vue Devtools安装
这几天一直在学习Vue.js框架. 因为以前没有前端项目的经验,也没学过什么前端框架,所以,对于vue.js的学习有些不知所措. 在vue.js官网看教程,按照教程指点,可以不用脚手架开发,也可以搭建 ...