Shell/ bat

Jenkins 可以在构建中执行shell命令或者windows的batch 命令。

1. 选择一个项目,点击“配置”。

2. 找到“构建” –> “增加构建步骤”。选择 “Execute shell” 或者 “Execute Windows batch command”。

具体选择哪一个取决于你的执行环境,如果是linux环境,选择 “Execute shell”。如果是windows环境,选择 “Execute Windows batch command”。我这边选择的是“Execute Windows batch command”。

3. 在 “命令”栏中输入你要执行的命令。

echo "Hello World"
echo %BUILD_TAG%
python hello_python.py

备注:

在命令栏下方,可以看到“参阅可用环境变量列表”。点击之后,可以看到所有可以用的变量名列表及其解释。

比如上面我们使用的 BUILD_TAG。

BUILD_NUMBER
The current build number, such as ""
BUILD_ID
The current build ID, identical to BUILD_NUMBER for builds created in 1.597+, but a YYYY-MM-DD_hh-mm-ss timestamp for older builds
BUILD_DISPLAY_NAME
The display name of the current build, which is something like "#153" by default.
JOB_NAME
Name of the project of this build, such as "foo" or "foo/bar". (To strip off folder paths from a Bourne shell script, try: ${JOB_NAME##*/})
BUILD_TAG
String of "jenkins-${JOB_NAME}-${BUILD_NUMBER}". Convenient to put into a resource file, a jar file, etc for easier identification.
EXECUTOR_NUMBER
The unique number that identifies the current executor (among executors of the same machine) that’s carrying out this build. This is the number you see in the "build executor status", except that the number starts from , not .
NODE_NAME
Name of the slave if the build is on a slave, or "master" if run on master
NODE_LABELS
Whitespace-separated list of labels that the node is assigned.
WORKSPACE
The absolute path of the directory assigned to the build as a workspace.
JENKINS_HOME
The absolute path of the directory assigned on the master node for Jenkins to store data.
JENKINS_URL
Full URL of Jenkins, like http://server:port/jenkins/ (note: only available if Jenkins URL set in system configuration)
BUILD_URL
Full URL of this build, like http://server:port/jenkins/job/foo/15/ (Jenkins URL must be set)
JOB_URL
Full URL of this job, like http://server:port/jenkins/job/foo/ (Jenkins URL must be set)
SVN_REVISION
Subversion revision number that's currently checked out to the workspace, such as "12345"
SVN_URL
Subversion URL that's currently checked out to the workspace.

4. 在Jenkins的 workspace中的该项目下,我的路径是“D:\Jekins\workspace\Ant_project”,放置 hello_python.py。内容如下:

print(""*30)
print("this is easy")

备注:

因为我的python是python3.0,所以print语句是这个样子。

因为命令的默认执行路径是在 Jenkins的workspace下面,所以脚本需要放置在该路径。当然也可以放置到其他路径,执行脚本时前面加上路径即可。

5. 点击“立即构建”。

查看“Console output”:

BUILD SUCCESSFUL
Total time: 1 second
[Ant_project] $ cmd /c call C:\Users\xxx\AppData\Local\Temp\hudson6570782408589408145.bat
 
D:\Jekins\workspace\Ant_project>echo "Hello World"
"Hello World" D:\Jekins\workspace\Ant_project>echo jenkins-Ant_project-8
jenkins-Ant_project-8 D:\Jekins\workspace\Ant_project>python hello_python.py
888888888888888888888888888888
this is easy D:\Jekins\workspace\Ant_project>exit 0
Finished: SUCCESS

从“cmd /c call C:\Users\xxx\AppData\Local\Temp\hudson6570782408589408145.bat ”可以看出,Jenkins自动生成了一个 hudson6570782408589408145.bat 脚本,保存要被执行的命令,该脚本保存在临时路径下。

后边具体执行了bat命令。

这里给出了Jenkins执行bat的实例,同时在bat中调用了 python脚本,扩展开来,当然也可以调用其他语言,比如ruby ,perl。

python

除了上面执行python命令的方式,Jenkins还给出了另外一种使用python命令的方式,那就是使用插件。

1. 安装 Python Plugin插件。

进入“系统管理” –> “管理插件”-> “可选插件”,在“过滤”中输入“Python Plugin”,可以看到页面显示出该插件,选中并点击“直接安装”即可。

Adds the ability to execute python scripts as build steps.

2. 任选一个项目,点击“配置”。

3. 找到“构建” –> “增加构建步骤”。选择 “Execute Python script”。

4. 在 “Script”栏中输入你要执行的命令。

比如:

print('hello'*8)
print('3+2')

5. 点击“立即构建”。

查看“Console output”:

[Ant_project] $ python C:\Users\xxx\AppData\Local\Temp\hudson7702020379517348753.py
hellohellohellohellohellohellohellohello
3+2
Finished: SUCCESS

Jenkins 六: 构建中执行shell或者 windows的批处理程序的更多相关文章

  1. vim中执行shell命令小结

    vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如:!ls -l ...

  2. Java中执行shell笔记

    在java中执行shell有好几种方式:第一种(exec)方式一 public static synchronized void runshell2() {    File superuser = n ...

  3. python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...

  4. Docker中执行Shell出现乱码

    问题描述 最近遇到一个问题: 执行命令 docker exec f4af9b sh -c 'bash /tmp/build.sh' 命令在docker中执行shell,会出现中文乱码的问题.但是在do ...

  5. 在 Ruby 中执行 Shell 命令的 6 种方法

    我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb & ...

  6. python中执行shell命令的几个方法小结(转载)

    转载:http://www.jb51.net/article/55327.htm python中执行shell命令的几个方法小结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014- ...

  7. 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

    原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...

  8. Jenkins自动化构建(一)执行selenium+python脚本

    Jenkins执行python写的selenium自动化脚本,通常会遇到,执行打不开浏览器,查看jenkins构建Console Output控制台输出信息,发现脚本是执行了的,但是出错了,打开浏览器 ...

  9. SQL Server 中执行Shell脚本计算本地文件的内容大小

    SQL Server 数据库中除了能执行基本的SQL语句外,也可以执行Shell脚本.默认安装后,SQL中的Shell脚本的功能是关闭的,需要手动打开, 执行以下脚本即可打开该功能. -- 允许配置高 ...

随机推荐

  1. GridView中某一列值的总和(web)

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.R ...

  2. iOS单例的两种实现

    单例模式算是开发中比较常见的一种模式了.在iOS中,单例有两种实现方式(至少我目前只发现两种).根据线程安全的实现来区分,一种是使用@synchronized,另一种是使用GCD的dispatch_o ...

  3. 【深度解析】Google第二代深度学习引擎TensorFlow开源

    作者:王嘉俊 王婉婷 TensorFlow 是 Google 第二代深度学习系统,今天宣布完全开源.TensorFlow 是一种编写机器学习算法的界面,也可以编译执行机器学习算法的代码.使用 Tens ...

  4. 【BZOJ3211】【并查集+树状数组】花神游历各国

    Description   Input   Output 每次x=1时,每行一个整数,表示这次旅行的开心度 Sample Input 4 1 100 5 5 5 1 1 2 2 1 2 1 1 2 2 ...

  5. webservice拦截器 查看消息包(soap)

    服务端: 1.获取EndpointImpl对象 2.调用EndpointImpl对象中的方法获取In拦截器 3.调用EndpointImpl对象中的方法获取out拦截器 4.添加自己的In拦截器与Ou ...

  6. PAT - 基础 - 最大公约数和最小公倍数

    题目: 本题要求两个给定正整数的最大公约数和最小公倍数. 输入格式: 输入在一行中给出2个正整数M和N(<=1000). 输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1 ...

  7. html良好结构-之豆瓣风格

    良好HTML结构 1 结构层次 unit> hd+ unit-wrap>section>item2 语议化的结构 html5 html 语议 ck-box-unit ck-hd-wr ...

  8. actionscript sendToURL请求url,传递http_referer分浏览器统计

    IE全版本都不传递referer,但会在header中传递X_FLASH_VERSION,例如:"HTTP_X_FLASH_VERSION":"13,0,0,182&qu ...

  9. 极光推送 api ios参数问题

    这是首个app项目,推送用的是极光推送jpush 由于用官方文档出现接收多条的问题,在网上找到一套封装好的,非常感觉这位开发者 //推送.指定人error_reporting(E_ALL^E_NOTI ...

  10. 知识库总结mysql常用cmd命令

    打开命令目录 打开D盘mysql目录 d: cd D:\Ampps\mysql\bin 常用操作 将mysql目录下bin目录中的mysql.exe放到C:\WINDOWS下,可以执行以下命令 连接: ...