zoukankan      html  css  js  c++  java
  • 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%uilderuild.cmd"  ,

    这里需要注意需要加双引号 ,因为装的jenkins是32位版本 jenkins全路径有一个空格,对应的sln工程也需要注意这个。

    "C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEdevenv.exe" "C:Program Files (x86)Jenkinsworkspacexxxx.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

    I too had a similar issue once. Try granting the Jenkins service "Logon as This account" right under services.msc and make sure the account you type there is the same as the one you use for running cmd.exe.

  • 相关阅读:
    算法生成卐和卍字图
    分形之可编辑折线
    算法生成太极八卦图
    通过算法生成一幅太极图
    使用异或运算对数据及文件进行加密处理,附软件及源码
    C语言中将0到1000的浮点数用强制指针类型转换的方式生成一幅图像
    算法之美---100幅由程序生成的图像,总有一幅让你感到惊艳[下]
    【python基础学习】基础重点难点知识汇总
    【深入学习linux】在linux系统下怎么编写c语言程序并运行
    【深入学习linux】CentOS 7 最小化安装后程序必须安装的组件
  • 原文地址:https://www.cnblogs.com/zhishuai/p/8033451.html
Copyright © 2011-2022 走看看