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呢?本文即展开 ...
随机推荐
- Android逆向破解表单登录程序
Android逆向破解表单登录程序 Android开发 ADT: android studio(as) 程序界面如下,登录成功时弹出通知登录成功,登录失败时弹出通知登录失败. 布局代码 <?xm ...
- HDU 2516 斐波那契博弈
点这里去看题 n为斐波那契数时,先手败,推断方法见算法讲堂 #include<bits/stdc++.h> using namespace std; int main() { ],i,n, ...
- IntelliJ IDEA的main方法,for循环,syso的快捷键
原文链接:http://blog.csdn.net/tiantiandjava/article/details/42269173 今天偶然发现了IntelliJ中 创建main函数的快捷键,依次还有f ...
- 随便写写,也有一些参考了我jio的很好的他人的成果
Spring框架学习记录(1) 一. https://www.cnblogs.com/yuanqinnan/p/10274934.html (一)只要用框架开发java,一定躲不过spring,Spr ...
- java(一) 基础部分
1.11.简单讲一下java的跨平台原理 Java通过不同的系统.不同版本.不同位数的java虚拟机(jvm),来屏蔽不同的系统指令集差异而对外体统统一的接口(java API),对于我们普通的jav ...
- Redhat 6.7 x64升级SSH到OpenSSH_7.4p1完整文档
原文链接:https://www.cnblogs.com/xshrim/p/6472679.html 导语 Redhat企业级系统的6.7版自带SSH版本为OpenSSH_5.3p1, 基于审计和安全 ...
- 【笔记】css基于box的一行时垂直方向居中,多行平均居中,多出部分还省略号代替
题目很长,其实他就是这样的: 看标题,一行的时候是这样的,在行中间 标题文字多的时候是这样的,变成2行,超出部分用省略号: 但是为了更好的兼容性,没有使用flex,使用的是box布局. 核心代码就是这 ...
- Javascript高级编程学习笔记(45)——DOM 操作表格及DOM动态集合
操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就 ...
- 查看windows到期时间
查看windows到期时间 Slmgr.vbs -xpr
- Numpy学习三:数组运算
1.转置 #reshape(shape)函数改变数组形状,shape是一个元组,表示数组的形状 创建一个包含15个元素的一维数组,通过reshape函数调整数组形状为3行5列的二维数组arr = np ...