Jenkins 2 如何使用 PowerShell 以及自定 build fail (指定 exit code)

Jenkins 除了用來做為 CI(持續性整合) 工具外,也可以與其他 plugin 配合達成其他目的(e.g.IIS restart、檔案壓縮備份…),今天就來看看可以怎麼與 PowerShell 整合執行 PowerShell 指令

文章大綱

  1. 安裝 PowerShell plugin
  2. 設定 Powershell plugin
  3. PowerShell 丟出 build fail

1. 安裝 PowerShell plugin

  1. Manage Jenkins –> Manage Plugins

  2. Available –> Filter

2. 設定 Powershell plugin

  1. Build –> ADD BUILD STEP –> Windows PowerShell

  2. Command

    直接寫 Powershell 語法

    大专栏  Jenkins 2 如何使用 PowerShell 以及自定 build fail (指定 exit code)sercontent.com/assets/3851540/22322570/e4af87d6-e3d7-11e6-9451-a82bd90e3358.png" alt="4commnad"/>

3. PowerShell 丟出 build fail

預設情況 Jenkins 只要有執行 PowerShell,不論是否正確執行皆會視為 SUCCESS,所以需要手動拋出 build fail

  • 手動拋出錯誤(使用 try catch 為例)

    • 將 PowerShell 實際執行的 command 用 try catch 包
    • catch 區段 丟出 exit 1 以通知 Jenkins 拋出 build fail
      Try
      {
          Get-Content C:securestringa.txt  -ErrorAction Stop
      }
      Catch
      {
          write-output "get data fail!"
          exit 1
      }
      

參考資料

  1. PowerShell Plugin

原文地址:https://www.cnblogs.com/lijianming180/p/12032159.html

时间: 2024-10-19 07:42:03

Jenkins 2 如何使用 PowerShell 以及自定 build fail (指定 exit code)的相关文章

jenkins将构建成功或失败的信息发送给指定URL(eg: pomelo采用jenkins持续集成)

先提供一个思路供大家参考,想将构建成功或者失败的信息发送给指定URL的话,可以这样:1.A构建后触发另一个构建B,构建B执行某个插件2.插件的功能:   (1)利用jenkins API获取构建A最后一次的构建信息,eg: http://192.168.212.73:8080/job/41_start_mongoDB/lastBuild/api/json (2)将获取到的构建信息(可以根据需求第二次封装)发送到指定URL 插件的内容其实就是http请求,可以用自己熟悉的语言写. 具体实现内容待更

Powershell管理系列(二十九)PowerShell操作之移动账户到指定OU

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 步骤1.用户需求如下:人员离职后,将AD账户禁用并挪动到指定的OU get-aduser -SearchBase "ou=test,dc=yuntcloud,dc=com" -filter *|Move-ADObject -TargetPath "ou=dimission,dc=yuntcloud,dc=com

jenkins持续集成发布php项目(不需要build)

参考: https://www.cnblogs.com/jimmy-xuli/p/9072015.html 1. 需要安装了 publish ssh插件 2.   配置publisher ssh ,下面的 Remote Directory 可以不用配置.在第3步下面去配置.如果这里配置了.相当于用户会直接进入mnt目录.下面的第3步指定的 Remote Directory会在现在的mnt目录下创建.会形成  /mnt/mnt/test/目录结构. Remote Directory不配置的话会在家

通过Shell+atd定时任务,实现jenkins指定时间自动发布任务

我们公司是通过Git+Jenkins+Shell+Docker实现自动化更新发布. 这里我说下我是如何用Shell+atd服务,在晚上21:00自动完成领导交代的某个项目上线操作.要注意的是,这个上线项目和上线时间是不固定的!注意:这个跟jenkins的定时任务不同,jenkins定时任务是循环任务,这个是一次性的,需要人工设定好. CTO规定每天21:00后才可以网站发布,下班时,开发告知我API项目晚上9点要上线.TM的回去打LOL或有事情容易搞忘了(CTO说:我希望这种事情以后不要发生!!

某项目docker化持续集成日记

某项目docker化持续集成日记 要求将某项目的部署方式转变为docker的方式,并和jenkins相结合,主要组件有自身的两个服务(bill-api ,bill-backend)以及mysql.mq.redis 2016-04-18 先申请了2台机器,因为只是demo,所以提出要debian7 3.18内核的,配置的话2x2 4G或以上就可以 得到2台机器106和107 在jenkins节点机器上ping和telnet一下,访问正常 jenkins机器138 安装docker-1.9.1 1

使用PowerShell统计子文件夹大小

分享一个自己写的项目里用到的PowerShell脚本,这个脚本写的很简单,功能也不复杂,主要作用就是统计一个文件夹下的所有子文件夹的大小,这是为了配合统计之前从各个用户计算机收集的信息,每个收集到的信息都会被存档到以这台计算机名称命名的文件夹里,但是哪台计算上收集失败了呢?每个人收集上来的数据大小是多少呢?这个就需要再统计了. 这种功能的软件其实网上有很多,但是对于一个IT Pro来说,什么事都问百度可不是个好习惯,自己动手丰衣足食,反正这也是个很简单的功能不需要太复杂的逻辑,直接上手用Powe

用MSBuild和Jenkins搭建持续集成环境(2)

http://www.infoq.com/cn/articles/MSBuild-2 作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意: 挥一挥衣袖,带走满满干货,关注活动大本营,时不时发福利呦!3 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 这是持续集成系列的下半部分,如果你还没看过上半部分的话,请点击这里:用MSBuild和Jenkins搭建持续集成环境(1). 与Jenkins相会

[转]Jenkins CommonCollections 完美利用(演示)工具

博主URL:http://tools.changesec.com/Jenkins-CommonCollections-Exploit/ 提交漏洞总是要证明漏洞危害,老外写的java代码又有bug,所以随手改掉了 点击这里下载代码,或者使用如下命令 git clone https://github.com/CaledoniaProject/jenkins-cli-exploit.git 来张截图吧, 工具的具体使用方法, 如果目标是 Linux.Mac 机器,请使用, ./client.pl --

PowerShell控制台输出符号+函数参数类型指定+文本内容读取

There are several ways: Write-Host: Write directly to the console, not included in function/cmdlet output. Allows foreground and background colour to be set. Write-Debug: Write directly to the console, if $DebugPreference set to Continue or Stop. Wri