在 Jenkins Windows Agent 节点上执行 Shell 命令
Jenkins 在 Windows agent 上执行shell 命令,听起来很有意思,以下方法可以在 Jenkins 中执行一些简单的 shell 脚本,如果是复杂脚本就交给 Linux agent 去做吧。
1. 安装工具(二选一)
- Git bash
- Cygwin
由于我用Git, 所以我安装的是Git for Windows. https://git-scm.com/download/win
2. 加入环境变量PATH
把 Git bash 命令的路径加入环境变量, 例如:“C:\Program Files\Git\usr\bin”\
备注:如果不想加环境变量,可以到 Jenkins -> Manage -> Configure 中去设置 shell executable
3. 配置Jenkins Job
接下来就可以在 job 中增加 execute shell script, 可以用 freestyle job 也可以用 pipeline 的 sh 'xxx'.
已知问题
在执行一些带路径的 shell 命令时,路径会被解析成 Windows 风格,导致命令出错。 如:
cp ${WORKSPACE}/test.txt .
${WORKSPACE}/test.txt 会解析成:"C:\Jenkins/test.txt", 导致命令出错。我的解决方法是 cd 或者 pushd ${WORKSPACE} 再进行相应操作。
在 Jenkins Windows Agent 节点上执行 Shell 命令的更多相关文章
- Windows远程linux服务器执行shell命令
一.前言 借用百度百科关于putty的描述:PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连接软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台 ...
- Jenkins-在节点上执行copy命令,将节点机上的文件拷贝到映射的网络驱动盘中报错,访问被拒绝 找不到指定驱动器
问题如标题,根据网友提供的解决方法,完美解决: 在jenkins中执行这个命令时报错 说无法访问. 重新映射一次可解决这个问题,添加一条 net use 命令
- 通过CGI实现在Html页面上执行shell命令
在mac上配置cgi(不用系统自带的apache cgi.) 安装cgi 1. brew update 2. brew install httpd24 安装完后,会有如下提示 DocumentRoot ...
- Jenkins 六: 构建中执行shell或者 windows的批处理程序
Shell/ bat Jenkins 可以在构建中执行shell命令或者windows的batch 命令. 1. 选择一个项目,点击“配置”. 2. 找到“构建” –> “增加构建步骤”.选择 ...
- python中执行shell命令的几个方法小结
原文 http://www.jb51.net/article/55327.htm 最近有个需求就是页面上执行shell命令,第一想到的就是os.system, os.system('cat /proc ...
- python中执行shell命令的几个方法小结(转载)
转载:http://www.jb51.net/article/55327.htm python中执行shell命令的几个方法小结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014- ...
- 如何限制jenkins的任务在某个节点上执行
1.首先给节点打标签,一个节点可以打多个标签,中间使用空格分开 2.其次在每个任务上标记执行的标签位置,这样这个任务就在包含这些标签的节点上执行 3.通过这个方法限制的任务,只会跑在指定节点上,即是当 ...
- 利用ganymed-ssh2远程执行其它Linux机器上的shell命令
实际应用中,有时候需要从web管理界面上,远程去启动其它linux主机上的程序,利用ssh协议可以方便的满足这一需求.事实上hadoop架构中,从nn上启动dn时,就是利用了免密码ssh登录.gany ...
- python(6)-执行shell命令
可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen* --废弃 popen2.* --废弃 commands.* ...
随机推荐
- 微信小程序之项目的创建
之前就想学习一下微信小程序,只不过前段时间在学习Java中的一些线程的知识,拖了很久也没有实行这个目标,今天终于从网上找了一个完整的视频,来从头学习完整的开发流程,现在逐渐有一种想法,就是自己构建项目 ...
- Android中使用ormlite实现持久化--HelloOrmLite
Android中内置了sqlite,但是常用的开发语言java是面向对象的,而数据库是关系型的,二者之间的转化每次都很麻烦(主要是我对sql语言不熟悉).而Java Web开发中有很多orm框架,但是 ...
- oracle触发器级联删除
create or replace trigger delete_trigger1 after delete on contracting_party for each row begin if de ...
- vue制作幻灯片-左右移动
组件中: <template> <div class="slide-show" @mouseover="clearInv" @mouseout ...
- 为Array对象添加一个去除重复项的方法
输入例子 [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN].uniq() 输出例子 [false, true, unde ...
- ANN中乘积量化与多维倒排小结
目前特征向量的比对加速优化能极大缩短比对耗时,改善用户体验. 优化的途径主要有两种,一是使用指令集(SSE,AVX)加速运算.二是使用ANN替代暴力搜索. 乘积量化和倒排索引组合是ANN中效果较好且实 ...
- JDBC的事务处理 JDBC事务处理 JDBC教程
JDBC的事务基本知识 事务的定义:一个事务是由一条或多条对数据库操作的sql语句所组成的一个不可分割的工作单元,只有当事务中的所有操作都正常执行后,整个事务才会提交给数据库. 结束事务的操作:com ...
- 封装函数通过输入(元素,属性,目标值)改变div样式
## 假设一个div样式如下```html<!DOCTYPE html><html lang="en"> <head> <meta cha ...
- Permutations II 去掉重复的全排列
Given a collection of numbers that might contain duplicates, return all possible unique permutations ...
- iOS开发 底层抛析运行循环—— RunLoop
http://blog.csdn.net/zc639143029/article/details/50012527 一.RunLoop基本概念 概念:程序的运行循环,通俗的来说就是跑圈. 1. 基本作 ...