windows 安装 jenkins 自动化构建部署至linux服务器上
一、环境准备
1、git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html
2、maven安装环境,包括jdk环境安装 参考链接 https://www.cnblogs.com/yuarvin/p/7837963.html
3、Jenkins 安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12499172.html
二、jenkins 插件安装
如本次需要的插件如下:
- git:用于拉取git分支代码到jenkins服务器工程目录
- Maven Integration plugin : 用于构建打包maven工程项目
- git parameter:用于参数化构建时选择分支。
- Publish Over SSH:用于上传jar包和操作tomcat
- pscp :用于windows把文件上传到远程服务器linux上
Global Tool Configuration
1、maven默认配置
2、JDK配置
3、git配置
4、maven自定义配置
Configure System
1、进入以后只配置Publish over SSH,在系统设置添加要连接的linux服务器,使用用户名和密码验证,不需要私钥和公匙。并在高级里点击test是否成功
2、点击test configuration 测试成功后点击保存。ssh默认连接端口是22
构建任务
1、点击 新建Item 按钮,进入构建引导,构建一个maven工程项目
2、进入构建配置设置
项目描述
源码管理
Repository URL
Credentials 凭据
指定拉取git分支,目前默认是master
触发器设置
建设环境
构建前操作配置以及构建设置,可以指定本地maven的仓库,构建时优先从本地仓库中拉取jar包
构建成功后,先把构建的jar包上传到linux服务器,然后启动对应的jar服务
echo "开始上传文件"
cd D:\Program Files (x86)/Jenkins
D:
pscp -l root -pw root -r workspace/springSecurity/target/sercurityOauth-0.0.1-SNAPSHOT.jar root@192.168.76.128:/usr/local/src/web < confirm.bat
echo "上传文件成功"
exit
cd /usr/local/src/web
ps axu | grep sercurityOauth-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
nohup /usr/local/jdk1.8.0_201/bin/java -jar /usr/local/src/web/sercurityOauth-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev >sercurityOauth-0.0.1-SNAPSHOT.log 2>&1 &
echo "启动完成"
putty插件
参考链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
1、pscp.exe需要放入到C:\Windows\System32和jenkins安装目录
2、远程启动linux服务器的构建安装包jar,需要指定jdk的java命令,如
nohup /usr/local/jdk1.8.0_201/bin/java -jar *.jar
开始构建
1、点击 bulid now后,进入工作空间,可以看到项目内容
2、在控制台输出可以看到构建日志
3、构建历史
windows 安装 jenkins 自动化构建部署至linux服务器上的更多相关文章
- springboot 定时任务部署至linux服务器上后会执行两次问题
springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...
- ireport部署到Linux服务器上遇到的问题解决
ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...
- 把 web 项目部署到 Linux 服务器上
1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例 2.项目打包成 war ,选择项目导出到的位置. ...
- .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上
今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...
- JenKins自动化构建部署流程参考
Jenkins工作流程 程序员提交代码到Git/SVN仓库,触发钩子程序向 JenKins 进行通知,Jenkins 调用Git/SVN插件获取源码,调用Maven打包为war包,调用Deploy t ...
- 案例 (一)如何把python项目部署到linux服务器上
一.背景 用Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开 ...
- springboot打成Jar包后部署至Linux服务器上
下面主要记录一下springboot打包成jar包在Linux服务上部署的步骤: 1.通过WinSCP,将相应的Jar文件,复制到Linux指定目录下,如/home/ 2.打开ssh,进入/home目 ...
- openfire源码修改后如何打包部署到linux服务器上
原文:http://blog.csdn.net/jinzhencs/article/details/50457152 1.linux版本的3.10.3解压部署启动(过程略,参考我的另一篇博文http: ...
- 简单将Springboot项目部署到linux服务器上
1.使用springboot的jar包方式 直接使用maven工具按照步骤点击就可以直接打包 2.到target目录下找到 jar包 3.将jar包放到linux的任意文件夹下(此项目是之前的kafk ...
随机推荐
- interrupt 停止线程
该方法只是给线程设置了一个停止的标记 并不是真正的立即停止线程 interrupted() 测试当前线程是否已经中断 isInterrupted() 测试线程是否已经中断 停止线程的方法: .异常法 ...
- mysqli存储过程
<?php$link = mysqli_connect('localhost','root','','chinatupai'); $sql = "call getEmail('000 ...
- verilog的function使用
语法: function [range] function_id; input_declaration other_declarations procedural_statement ...
- Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)
Python类中的变量有类变量和实例变量之分. 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ pu ...
- springboot中使用异步的常用两种方式及其比较
一般对于业务复杂的流程,会有一些处理逻辑不需要及时返回,甚至不需要返回值,但是如果充斥在主流程中,占用大量时间来处理,就可以通过异步的方式来优化.实现异步的常用方法远不止两种,但是个人经验常用的,好用 ...
- 使用wget获取其他服务器上的文件
http://www.cnblogs.com/tankblog/p/6081521.html
- centos7系统盘变为只读文件的修复
一台物理机的系统盘在磁盘空间有剩余的情况下变为只读了,咨询后发现前几日修改过系统,然后就不可写了,重启也不行.见下图 解决:参考链接https://bbs.51cto.com/thread-92640 ...
- Django+Celery框架自动化定时任务开发
本章介绍使用DjCelery即Django+Celery框架开发定时任务功能,在Autotestplat平台上实现单一接口自动化测试脚本.业务场景接口自动化测试脚本.App自动化测试脚本.Web自动化 ...
- 2000字谏言,给那些想学Python的人,建议收藏后细看!
1. 这几天陆续收到很多读者.球友的留言.私信,说要怎么学Python?有没有基础的,偏小白的学习方法?我的回答是:等我统一答复. 小胖从不食言,今天就来说说我觉得一个零基础.想转行.一直不得法的人应 ...
- 每天一个linux命令(15)-tail
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新, ...