Jenkins入门之执行Powershell脚本
之前章节提到过powershell,如果需要构建复杂的任务时,使用cmd不是很方便(也可能是由于笔者不太熟悉cmd命令,这里见笑了),这时候powershell就派上用场了,这里并不详细介绍powershell脚本,如果有需要以后另开章节讲解powershell基本命令,powershell面向对象编程,powershell脚本调试,C#编写powershell cmdlet,powershell相关工具等.本篇主要介绍如何在Jenkins环境中运行powershell命令.
目前主要有两种方法在Jenkins环境中运行powershell脚本:通过windows batch command运行powershell和使用powershell Jenkins插件运行powershell
- 使用windows batch command运行powershell.这里主要是使用powershell.exe来执行powershell脚本,跟在windows下使用cmd执行exe并没有什么两样.
下面我们创建一个新项目,名称叫作RunPowershellInCmd,仍然选择FreeStyle Project,我们略过几个和当前项目无关的栏目,直接进入Build 点击
选择红框框选的命令
这时候界面上会出现如下命令框,我们说过,可以在这里像在cmd里面一样输入各种cmd命令
我们输入以下命令后点击保存
点击保存以后,然后执行Build Now执行一次构建.我们可以看到命令是执行成功的
点击构建记录#1进入详情,然后点击左侧console output查看输出详情
我们可以看到Jenkins实际上创建的一个临时bat命令来执行一个cmd命令.这里之所以没有输出结果,是因为当前命令的执行环境为Jenkins安装目录下的当前项目目录,里面默认是空的,所以没有内容,如果我们在编写命令里如果指定-path为powershell指定要列出哪个目录下的内容,则你将会看到此处会输出此目录下的内容.当然你也可以在当前工作目录下面添加一些随机内容,然后再执行一次构建,看看输出内容的变化.
使用powershell.exe来执行powershell脚本时还可以指定一些参数,注意这里的参数并不是powershell命令的参数,而是powershell.exe运行时支持的参数.
支持的参数请看以下文档:
https://technet.microsoft.com/zh-cn/library/dd315276.aspx
这里介绍几个有用的参数:
-ExecutionPolicy脚本默认执行策略.
Powershell脚本的默认执行策略,如果相要执行远程脚本必须设置此选项为RemoteSigned, Unrestricted或者Bypass.关于powershell 执行策略,请看以下文档
-Comand 要执行的命令,比如上面我们执行的是get-childitem
-File 要执行的powershell脚本文件,如果脚本内容很长时,我们往往保存成一个ps1文件,这里通过-File参数指定ps1文件所在的位置
-Sta单线程启用powershell,如果脚本中有非线程安全代码,多线程启动则可能会造成数据状态错误,此时需要指定-sta.
-help 获取关于powershell的帮助,一般的程序都会提供这样一个参数,通过此参数可以快速找到一些想要的帮助,而不需要去查看文档或者笔记
- 通过插件来运行powershell脚本.
很多时候通过powershell.exe来执行powershell并不是很方便,幸运的是Jenkins里面有可以直接运行powershell脚本的插件.下面来看看如何使用
如果不在Jenkins主界面请点击左上角人头标志切换到主界面,然后点击左侧的Manage Jenkins
按钮
进入到如下界面:
点击
进入如下界面
大家的跟我的可能稍不一样,因为我已经安装的一些插件,所以这里会提示升级.
点击上面的Available标签
我们在Filter框输入Powershell搜索powershell插件
这时候我们勾选powershell插件前面的复选框,并点击Install Without Restart按钮
这时候进入插件安装界面:
等一会我们发现powershell安装成功
勾选Restart Jenkins when installation is complete and no jobs are running前面的复选框,使jenkins重启,以使插件生效
等Jenkins重启完成以后,我们新建一个任务叫作ExecutePsCmd
当我们点击Add Step Build时,如果powershell安装成功,便会多出一个选项
我们点击它并添加以下命令:
注意这里我们可以添加像本地powershell窗口里一样的命令.有些小伙伴可能会看到我这里get-date全是小写,但是很多教程上都开头首字母大写.Powershell是大小写不敏感的脚本语言,完成全是小写也是ok的.
点击保存以后执行Build Now然后打开#1任务记录,看看窗口输出内容:
Jenkins powershell插件成功执行一条powershell脚本
Jenkins入门之执行Powershell脚本的更多相关文章
- 云服务程序在启动的时候执行Powershell脚本
如果在云服务程序启动时候,需要执行Powershell脚本,我们需要将脚本嵌入到程序中,并且编写一个cmd来执行这个脚本,具体如下: 1.编写测试的Powershell脚本:每隔10分钟 检测dns ...
- 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例
当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...
- Jenkins入门之执行定时任务
通过前面我们讲解了如何通过Jenkins执行windows command,powershell脚本,此时我们便可以开始完成一些简单任务了,然而可能看到我们都是通过手动按下Build Now按钮来执行 ...
- 执行powershell脚本
打开powershell运行窗口: powershell.exe C:\Users\Administrator\Desktop\a.ps1 -a $a. -a $a : vbs脚本路径(如 C:\h ...
- 使用JenKins实现自动执行python脚本
1.使用Jenkins创建一个工程,工程主要配置项参照下图,其他配置项恢复默认 2.工程配置完成之后,点击[立即构建],执行完成后进入到控制台查看是否执行成功.
- 执行PowerShell脚本的时候出现"在此系 统上禁止运行脚本"错误
使用get-executionpolicy查看当前的脚本执行策略, 默认是Restricted, 也就是不允许任何脚本运行. 此时应该使用set-executionpolicy remotesigne ...
- jenkins配置自动执行sql脚本
shell脚本: bigsql="select big_version,small_version from d0mstore.db_current_version order by big ...
- Jenkins: 执行 PowerShell 命令
Jenkins 默认是不支持执行 PowerShell 命令的,需要安装插件才能完成这样的任务.本文将介绍 Jenkins PoserShell 插件的基本用法和常见问题. 安装 PowerShell ...
- 在Jenkins中执行 PowerShell 命令实现高效的CD/CI部署
相比于cmd,powershell支持插件.语法扩展和自定义扩展名,是智能化部署中闪闪的新星,越来越多的开发者偏爱使用Powershell. 如何让Jenkins支持Powershell呢?本文即展开 ...
随机推荐
- windows 子系统 linux wsl 开启ssh 服务
原因 windows自带的终端操作丑陋,习惯xshell的操作 步骤 1.关闭windows自带的ssh服务,这个占用了22端口 2.wsl 安装ssh服务(使用的是ubuntu) sudo apt ...
- centos 下Python独立虚拟环境创建
virtualenv Python有着庞大的开源社区的支持,很自然就产生这么一个问题:第三方包参差不齐,如果我们想在服务器测试,或者升级某个包,就会导致生产环境产生杂乱,多余的第三方依赖包. virt ...
- Strusts2
Strusts2的原理很简单,首先,地址栏输入http://xxxx/xxxx/webapp/xx.action首先,请求会通过httpservlet发送给tomcat容器,tomcat发现这个请求是 ...
- Leetcode(二)两数相加
两数相加 题目描述 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链 ...
- HDU5813 Elegant Construction
Elegant Construction Time Li ...
- 小程序 mpvue自定义底部导航栏
1.在compontents新建文件放入 <template> <section class="tabBar-wrap"> <article clas ...
- Python开发系列
一 Python基础理论 Python简介 数据类型 字符编码与文件操作 函数 模块与包 常用模块 面向对象 网络编程 相关代码示例参考 https://github.com/Jonathan131 ...
- C#常用工具类——Excel操作类(ZT)
本文转载于: http://www.cnblogs.com/zfanlong1314/p/3916047.html /// 常用工具类——Excel操作类 /// <para> ----- ...
- Android插件化的兼容性(中):Android P的适配
Android系统的每次版本升级,都会对原有代码进行重构,这就为插件化带来了麻烦. Android P对插件化的影响,主要体现在两方面,一是它重构了H类中Activity相关的逻辑,另一个是它重构了I ...
- ElasticSearch写入数据的工作原理是什么?
面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗? 面试官心理分析 问这个,其实面试官就是要看看你了解不了解 es 的一些基 ...