jenkins windows执行批处理脚本总是失败
使用jenkins 在使用编译vc++的一个项目,在执行批处理脚本的时候总是失败,
但是在控制台无论是管理员还是普通用户都能正常编译,jenkins每次都失败,看日志就是调用一个cmd命令直接失败,exit code是1 .
方案一:参考了csdn的一篇博客(下面有链接),才知道可能是权限的问题,用非system用户登录就可以正常编译。
方法很简单。就是登录 Jenkins service。
具体过程:
在"运行"中输入"services.msc"打开服务窗口,找到"Jenkins".
然后右键属性,在“登录”导航中选择“此用户”任何输入能够运行CMD.exe的用户。这里我用了管理员用户。
重启服务就能正常编译了。
方案二:用msbuild
---------------------------------
另外需要注意一点小问题
一、Execute windows batch command 下面写批处理命令 cmd /c "%WORKSPACE%\builder\build.cmd" ,
这里需要注意需要加双引号 ,因为装的jenkins是32位版本 jenkins全路径有一个空格,对应的sln工程也需要注意这个。
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "C:\Program Files (x86)\Jenkins\workspace\xx\xx.sln" /Rebuild "Release|x86" /Project xx /out log.txt
二、另外因为新用jenkins ,他可以直接拉对应的分支
在源码管理里面的 Branches to build:
Branch Specifier (blank for 'any') : 默认是*/master 可以默认编译你的分支 比如:*/dev
三、某些环境变量设置需要重启jenkins服务
---------------------------------------------------------------------------
http://blog.csdn.net/hwhua1986/article/details/47778131
今天搭建Jenkins持续集成环境,编译环境是.net,在.net下没有比较好的代码覆盖率测试插件,所以用了开源的OpenCover,计算代码覆盖率,然后用ReportGenerator导出hmtl格式的测试报告。这里用到了批处理脚本,到这里问题出现了。
脚本写好之后在Windows系统下直接运行没有任何问题。但你要把它放在Jenkins里作为编译后执行的话就会报错,很诡异。我自已也怀疑是用户权限的问题。但用普通用户直接运行脚本也还是没问题。下午google了一下。按照http://stackoverflow.com/questions/10952280/execute-windows-batch-command-from-jenkins-fails-but-runs-fine-in-cmd-exe 提供的方式试了一下OK了。
方法很简单。就是登录 Jenkins service。
具体过程:
在"运行"中输入"services.msc"打开服务窗口,找到"Jenkins".
然后右键属性,在“登录”导航中选择“此用户”任何输入能够运行CMD.exe的用户。这里我用了管理员用户。
-------------------------------------
https://stackoverflow.com/questions/10952280/execute-windows-batch-command-from-jenkins-fails-but-runs-fine-in-cmd-exe
14 down vote
|
I too had a similar issue once. Try granting the Jenkins service "Logon as This account" right under |
jenkins windows执行批处理脚本总是失败的更多相关文章
- Windows Bat 批处理脚本
Windows Bat 批处理脚本 – Getting Started – Variables – Return Codes – stdin, stdout, stderr – If/Then Con ...
- Jenkins自动执行python脚本输出测试报告
前言 在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作. 借助Jenkins,我们可以结合 Git/SVN 自动拉取 ...
- 转:windows BAT 批处理脚本教程
转自:http://www.cnblogs.com/mq0036/p/3412171.html BAT 批处理脚本教程 第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文 ...
- EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行
很多时候, 我们需要以管理员权限来运行批处理脚本, 比如操作 windows 服务. EasyNVR 中提供安装服务的批处理脚本, 运行这个bat文件, 自动将 EasyNVR 以 windows 服 ...
- jenkins 执行python脚本 断言失败就可以构建失败
可以配合try: 那个语句去搭配
- 解决Jenkins中执行jmeter脚本后不能发报告(原报告被覆盖、新报告无法保存)的问题
我没有找到根本原因,但是我用了个取巧的办法: 先将原来的报告移到别的文件夹,执行完jmeter脚本后,再把那些旧报告移回来(也可以不移回来,我这里是为了能从jenkins页面上看).
- windows 执行bat脚本
bat脚本中运行另外一个bat脚本 call 命令 call1.bat内容如下 echo running call1 call2.bat内容如下 @echo off echo start call c ...
- Jenkins windows 执行批量cmd命令XCOPY 提示'XCOPY' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
由于Jenkins没有配置环境变量造成 打开Jenkins=>Manage Jenkins =>Configure System =>全局属性 新增全局变量 健: Path 值: % ...
- Jenkins怎么安装?Jenkins控制台输出乱码怎么处理?Jenkins执行selenium脚本时浏览器不显示怎么处理?
今天我们来看一看Jenkins的安装. 首先我们看一下Jenkins是什么,能够干什么.Jenkins呢是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开 ...
随机推荐
- 一文彻底解决Ubuntu上PHP的安装以及版本切换
Ubuntu上官方的源,比如 Ubuntu14.04 默认源中的是 PHP5.6.x.Ubuntu16.04 默认源中的是 PHP7.0.x,那么如果想在 Ubuntu16.04 上安装 PHP7.1 ...
- 初级Java面试题 – SSM框架篇
加入我的QQ群(701974765) 获取更多好用又好玩的软件,还有不定期发放的福利呦(- ̄▽ ̄)- Spring的优点/对Spring的理解 Spring的AOP编程 Spring的IOC Spri ...
- 模拟Push和Pop动作
//利用CATransition来作模拟 //模拟Push - (void)pushView:(UIView *)pushView inView:(UIView *)inView { CATransi ...
- PacificA: Replication in Log-Based Distributed Storage Systems
PacificA: Replication in Log-Based Distributed Storage Systems - Microsoft Research https://www.micr ...
- AJAX Form Submit Framework 原生js post json
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest <!doctype ht ...
- Storm-源码分析-Topology Submit-Nimbus-mk-assignments
什么是"mk-assignment", 主要就是产生executor->node+port关系, 将executor分配到哪个node的哪个slot上(port代表slot, ...
- 入木三分学网络第一篇--VRRP协议详解第一篇(转)
因为keepalived使用了VRRP协议,所有有必要熟悉一下. 虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是解决局域网中配置静态网关时,静 ...
- maya布料预设解析
今天做了一天布料.数值都是自己在那调整.结果发现maya自带预设,基本有些都不用调整,直接预设,效果非常不错.累死累活半天. 下来看看 预设 解析吧 ncloth新布料系统是 Maya 8.0 后新 ...
- Python3 格式化输出 %s & %d 等
1.打印字符串 print("My name is %s" %("Alfred.Xue")) #输出效果:My name is Alfred.Xue 2.打印整 ...
- sails route(1) -用户定义路由
sails支持两种类型的路由: custom(or "explicit") andautomatic(or "implicit"). 先来看一下custom 即 ...