文档章节

linux jenkins添加windows节点,实现自动化部署

shzwork
 shzwork
发布于 05/20 17:06
字数 811
阅读 26
收藏 0

背景:
要基于jenkins的做代码自动更新部署,现状是jenkins在linux上,目标服务器的tomcat在windows上,如何将代码从linux发送到windows未找到合适方案,并且后续如何远程调用执行windows批处理也是问题。日后如有好思路,会补上,也欢迎大家提建议。

思路:
本人找到了个取巧的办法,在linux的jenkins上快捷添加windows jenkins从节点,从而实现基于windows的jenkins自动更新部署,具体流程是在linux的jenkins管理界面操纵windows的从节点jenkins在windows上更新部署等操作。

扩展:
本思路也适用于tomcat所在服务器和jemkins所在服务器jdk不相同、或环境不同时使用,尽管jekins可以配置指定jdk等,但有时不好使。并且此思路可想像的空间很多,望能抛砖引玉。

1、添加jenkins node
jenkins -> 系统管理 -> 管理节点  -> 新增节点

不懂的属性直接点右边问号

注意availability要如图一致,点击保存后,进入下一步。

2、下载jar包


3、运行jar包
打开从节点服务器,利用cmd命令,执行上述命令

4、新建自由风格JOB
配置使用哪个个节点执行任务

然后正常配置svn代码更新路径等信息,代码会直接更新到从节点的机器上。

5、在“构建”中添加“Execute Windows batch command”

set "y=%date:~,4%"
set "m=%date:~5,2%"
set "d=%date:~8,2%"

echo  date=%m%-%d%-%y%

xcopy D:\jenkins\workspace\hello\*.* D:\tomcat\hello /E /y /D:%m%-%d%-%y% /C

pause
通过xcopy将当天更新的文件替换到tomcat中,xcopy不懂的参数直接在cmd中输入 “xcopy /?” 查看中文帮助
本例只替换了当天更新文件,原因是项目文件太多,全局替换时间较长。但是有一个小遗憾,是删除的文件不会在tomcat同步删除,但应该无大碍。

默认拷贝时会忽略隐藏文件,正好忽略了workspace中.svn文件夹。

执行时是直接在windows从节点执行,免去远程调用的麻烦。

如果项目文件少,直接全局替换也没问题,去掉/D参数。

xcopy 本例用到参数说明

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]                          

  /D:m-d-y     复制在指定日期或指定日期以后更改的文件。
               如果没有提供日期,只复制那些源时间比目标时间新的文件。
  /Y           取消提示以确认要覆盖现有目标文件。 
  /C           即使有错误,也继续复制。
  /E           复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。

--------------------- 
作者:yfx000 
来源:CSDN 
原文:https://blog.csdn.net/yfx000/article/details/52023654 
版权声明:本文为博主原创文章,转载请附上博文链接!

本文转载自:https://blog.csdn.net/yfx000/article/details/52023654

shzwork
粉丝 13
博文 744
码字总数 10605
作品 0
厦门
私信 提问
教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)

教你如何用Jenkins自动化部署项目(教程,从零到搭建完成) 置顶 2018年08月11日 21:18:18 龙之竹 阅读数 94080更多 分类专栏: web项目部署 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA...

linjin200
昨天
21
0
AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署

一.前言 (Jenkins、Docker、Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10、Docker(Linux OS) 编码、调试 发布机(与开发机共享) Win10、...

找不到一个满意的昵称
06/25
0
0
一个用于网站自动化测试的生态系统实现

这是我在从事网站自动化测试的工作当中构建出的一个“生态系统”。“生态系统”这个概念是我从公司的前辈身上学到的,他一直以来都认为自动化测试人员不应仅仅局限于编写测试代码,还应该让整...

xxjbs001
2014/07/25
128
0
使用 Jenkins 构建 Coding 项目 (资源)

Jenkins简介 Jenkins是一种跨平台的持续集成和交付的应用软件,它便于不断稳定地交付新的软件版本,并提高你的工作效率。这款开发运维工具还让开发人员更容易把项目的变化整合起来,并使用大...

寰宇01
2018/04/23
524
0
ASP.NET Core微服务之基于Jenkins Pipeline的持续集成实践

最近在公司实践持续集成,使用到了Jenkins的Pipeline来提高团队基于ASP.NET Core API服务的集成与部署,因此这里总结一下。 一、关于持续集成与Jenkins Pipeline 1.1 持续集成相关概念   互...

edison_zhou
06/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

c++ 内联函数调用快的原因

见图片分析

天王盖地虎626
今天
4
0
JS--function

一、声明提前(hoist) 在js程序开始执行前,引擎会查找所有var声明的变量和function声明的函数,集中到当前作用域顶部集中创建,赋值留在原地 二、三种创建函数的方式 1、声明方式创建函数-...

wytao1995
今天
5
0
微服务之间调用控制器注解类型的差异

今天在一个业务服务通过Feign调用文件服务上传文件时遇到了几个问题: 1. 提示http请求头过大的问题; 此时需要修改bootstrap.yml,加入 server: max-http-header-size: 10000000 用以放大...

不再熬夜
今天
7
0
用 4G 工作是什么体验

七月开始,因为工作原因,在公司附近租了个住处,方便工作。离公司近了,感觉就是不一样,之前每天 5:30 就要起床赶地铁,现在可以睡到自然醒,一看才 7 点,悠闲的起床洗漱,踱步到公司,都...

zzxworld
今天
6
0
sonar报错volatile

问题发生 原先代码如下: //认证授权码private static volatile String AUTHORIZATION_CODE = "init"; git push 之后,sonar认为这是个bug检测报告截图如下: 分析排查 解释说明: Markin...

开源小菜鸟2333
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部