jenkins在windows平台自动化构建代码
jenkins服务端:centos6.8
客户端:windows server2012 windows10
工具:cwRsync
注:复制为jenkins工作目录到网站目录,无需服务端。
1、安装jenkins
略。
2、配置安装slave端
所用的插件:Copy Data To Workspace Plugin
https://wiki.jenkins.io/display/JENKINS/Copy+Data+To+Workspace+Plugin
2.1 配置windows节点
1. 主界面->【系统管理】->【管理节点】->【新建节点】,进行节点的添加:



2. 输入节点名称,选择【Permanent Agent】。如果添加过slave的话会出现【复制现有节点】操作

3. 配置节点的详细信息

此处配置需要注意的有以下几个方面
【# of executors】:建议不要超过CPU核心数,一般不要写特别大。
【远程工作目录】:master将代码库中的代码复制到slave时,存放的临时目录,如slave的daemon服务也会放在此目录。一个job一个文件夹。
【用法】:选择【只允许运行绑定到这台机器的Job】,此模式下,Jenkins只会构建哪些分配到这台机器的Job。这允许一个节点专门保留给某种类型的Job。例如,在Jenkins上连续的执行测试,你可以设置执行者数量为1,那么同一时间就只会有一个构建,一个实行者不会阻止其它构建,其它构建会在另外的节点运行。
【启动方式】:选择【Launch agent via Java Web Start】,以windows服务的方式启动,这个为最好配置的。注意:2.x版本的默认没有这个选项,需要单独开启。
4. 配置slave端并且添加至windows服务
在点击保存后,在node列表中会存在此列表默认是未连通状态

点击进入详情页面会提示slave端的安装方法,此处讲解下载文件方式。
【Launch】:浏览器下载文件方式
【Run from agent command line】:从远端代理命令运行

注意:这是java服务,每个slave端必须安装jdk后才可运行。
下载后的文件内容如下:
<jnlp codebase="http://10.0.0.11:8080/jenkins/computer/test/" spec="1.0+">
<information>
<title>Agent for test</title>
<vendor>Jenkins project</vendor>
<homepage href="https://jenkins-ci.org/"/>
</information>
<security>
<all-permissions/>
</security>
<resources><j2se version="1.8+"/>
<jar href="http://10.0.0.11:8080/jenkins/jnlpJars/remoting.jar"/>
</resources>
<application-desc main-class="hudson.remoting.jnlp.Main">
<argument>c55442e04b03c2fc721ec718b70646c234b4c79a678ff10ccadc59541dbb843</argument>
<argument>test1</argument>
<argument>-workDir</argument>
<argument>d:\jenkins</argument>
<argument>-internalDir</argument>
<argument>remoting</argument>
<argument>-url</argument>
<argument>http://10.0.0.11:8080/jenkins/</argument>
</application-desc></jnlp>
注意:每个slave的内容都不一样至。多个slave需要多次下载或修改此内容

安装出现如下错误的原因,没有权限,使用管理员方式运行。

这种文件右键没有管理员方式运行的菜单,打开【任务管理器】->【运行】->【以管理员方式运行】

卸载系统服务方式:
sc delete jenkinsslave-c__jenkins
安装完成后slave设置的远端目录会生成如下文件

返回master的节点列表里,发现此处已经连接上了。

4、新建工程
选择自由构建方式。

【Restrict where this project can be run】:限制运行此项目的节点为刚才设置node时标签填写的windows。

下载安装插件后会出现此选项。实测,填写路径没什么卵用。

此处选择执行windows命令
注:此处存在以下问题。
1、此处如果代码库中不存在此文件,或更新后此文件被删除,那么使用xcopy会存在代码库中的文件以删除,而slave node文件夹中的文件还存在。无法清除。解决方法使用rsync –delete 或执行脚本文件进行判断。
2、如slave node中需要存在代码库中不存在的文件,使用rsync会将需要存在的文件删除。
3、此处无环境变量,执行命令需要使用全路径,不能存在中文和空格
C:\tools\cwRsync\bin\rsync -avz ./ /cygdrive/c/test1/ --delete --exclude=.svn xcopy /y /e /r ./ /cygdrive/c/test1/
测试结果
查看web目录内容

构建代码

jenkins在windows平台自动化构建代码的更多相关文章
- jenkins部署.net平台自动化构建
在引入自动化部署工具的时候,我们对比了jenkins和gitlab CI,jenkins有非常丰富的插件,配置起来方便.gitlab CI更倾向于脚本配置,当然jenkins也可以使用pipeline ...
- Jenkins+Tomcat+svn+maven自动化构建简单过程
搭建好jenkins自动化构建之后,点击立即构建,即可将svn服务器上的源码自动编译构建,并打成war包,然后将这个war包以及编译好的项目复制到指定服务器的tomcat容器里,当svn服务器的代码有 ...
- Jenkins+Ant+TestNG+Testlink自动化构建集成(完整版)
这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ...
- Jenkins+Maven+SVN+Nexus自动化部署代码实例
本文接着上篇安装jenkins,安装相关插件,使用我们公司持续集成的测试环境实例进行演示 ========= 完美的分割线 ========== 1.安装jenkins的maven插件 如果要使用je ...
- Jenkins+Ant+TestNG+Testlink自动化构建集成
这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ...
- SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战
1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...
- 在windows平台上构建自己的PHP(php5.3+)
这是一篇翻译的文章,原文参见:https://wiki.php.net/internals/windows/stepbystepbuild 顺便提一句,wiki.php.net有很多精彩的内容,想深入 ...
- Jenkins+Git+Maven搭建自动化构建平台
http://blog.csdn.net/xlgen157387/article/details/50353317
- jenkins在windows上自动化部署.Net(.Net Core)项目
前言 什么是持续集成呢?Continuous integration(CI).持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成. ...
随机推荐
- 开发中CollectionUtils处理集合
1.org.apache.commons.collections.CollectionUtils; 使用这个工具类,帮我们处理一些集合的操作,非常方便 //取并集public void testUni ...
- PAT 1033 旧键盘打字
https://pintia.cn/problem-sets/994805260223102976/problems/994805288530460672 旧键盘上坏了几个键,于是在敲一段文字的时候, ...
- PAT 1019 数字黑洞
https://pintia.cn/problem-sets/994805260223102976/problems/994805302786899968 给定任一个各位数字不完全相同的4位正整数,如 ...
- Windows查看端口被什么进程占用的简单方法----菜鸟养成
1. 还是因为同事告知Oracle的服务器连不上 最后发现改了端口就可以了, 但是很困惑 不知道为什么会这样,然后简单查了下: 命令 netstat -ano 查看监听的端口 baidu出来一个管道 ...
- Vue 初识Vue
<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...
- C#中的DateTime
一.DateTime是值类型还是引用类型的探索 二.了解DateTime结构体 三.DateTime.Now和DateTime.UtcNow是怎么计算出来的 一.DateTime是值类型还是引用类型的 ...
- BZOJ3996[TJOI2015]线性代数——最小割
题目描述 给出一个N*N的矩阵B和一个1*N的矩阵C.求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大.其中A^T为A的转置.输出D 输入 第一行输入一个整数N,接下来N行输入B矩阵, ...
- BZOJ2199[Usaco2011 Jan]奶牛议会——2-SAT+tarjan缩点
题目描述 由于对Farmer John的领导感到极其不悦,奶牛们退出了农场,组建了奶牛议会.议会以“每头牛 都可以获得自己想要的”为原则,建立了下面的投票系统: M只到场的奶牛 (1 <= M ...
- BZOJ4010[HNOI2015]菜肴制作——拓扑排序+堆
题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予 1到N的顺序编号,预估质量最高的菜肴编号为1.由于菜肴 ...
- POJ2635-The Embarrassed Cryptographer-大整数素因子
计算一个大整数(10^100)中有没有一个小于L的素因子.这个大整数是两个素数的乘积.其实就是RSA加密. 做法是把大整数表示成千进位,用数组存储,然后一位一位地取模. /*------------- ...