一、环境准备

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服务器上的更多相关文章

  1. springboot 定时任务部署至linux服务器上后会执行两次问题

    springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...

  2. ireport部署到Linux服务器上遇到的问题解决

    ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...

  3. 把 web 项目部署到 Linux 服务器上

    1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例   2.项目打包成 war ,选择项目导出到的位置. ...

  4. .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上

    今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...

  5. JenKins自动化构建部署流程参考

    Jenkins工作流程 程序员提交代码到Git/SVN仓库,触发钩子程序向 JenKins 进行通知,Jenkins 调用Git/SVN插件获取源码,调用Maven打包为war包,调用Deploy t ...

  6. 案例 (一)如何把python项目部署到linux服务器上

      一.背景 用Python写了个脚本,需要部署到Linux环境的服务器上,由于服务器linux系统(centos,redhat等)自带的是python2,现在的python萌新都是从python3开 ...

  7. springboot打成Jar包后部署至Linux服务器上

    下面主要记录一下springboot打包成jar包在Linux服务上部署的步骤: 1.通过WinSCP,将相应的Jar文件,复制到Linux指定目录下,如/home/ 2.打开ssh,进入/home目 ...

  8. openfire源码修改后如何打包部署到linux服务器上

    原文:http://blog.csdn.net/jinzhencs/article/details/50457152 1.linux版本的3.10.3解压部署启动(过程略,参考我的另一篇博文http: ...

  9. 简单将Springboot项目部署到linux服务器上

    1.使用springboot的jar包方式 直接使用maven工具按照步骤点击就可以直接打包 2.到target目录下找到 jar包 3.将jar包放到linux的任意文件夹下(此项目是之前的kafk ...

随机推荐

  1. interrupt 停止线程

    该方法只是给线程设置了一个停止的标记 并不是真正的立即停止线程 interrupted() 测试当前线程是否已经中断 isInterrupted() 测试线程是否已经中断 停止线程的方法: .异常法 ...

  2. mysqli存储过程

    <?php$link = mysqli_connect('localhost','root','','chinatupai');  $sql = "call getEmail('000 ...

  3. verilog的function使用

    语法: function [range] function_id;    input_declaration    other_declarations    procedural_statement ...

  4. Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)

    Python类中的变量有类变量和实例变量之分. 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ pu ...

  5. springboot中使用异步的常用两种方式及其比较

    一般对于业务复杂的流程,会有一些处理逻辑不需要及时返回,甚至不需要返回值,但是如果充斥在主流程中,占用大量时间来处理,就可以通过异步的方式来优化.实现异步的常用方法远不止两种,但是个人经验常用的,好用 ...

  6. 使用wget获取其他服务器上的文件

    http://www.cnblogs.com/tankblog/p/6081521.html

  7. centos7系统盘变为只读文件的修复

    一台物理机的系统盘在磁盘空间有剩余的情况下变为只读了,咨询后发现前几日修改过系统,然后就不可写了,重启也不行.见下图 解决:参考链接https://bbs.51cto.com/thread-92640 ...

  8. Django+Celery框架自动化定时任务开发

    本章介绍使用DjCelery即Django+Celery框架开发定时任务功能,在Autotestplat平台上实现单一接口自动化测试脚本.业务场景接口自动化测试脚本.App自动化测试脚本.Web自动化 ...

  9. 2000字谏言,给那些想学Python的人,建议收藏后细看!

    1. 这几天陆续收到很多读者.球友的留言.私信,说要怎么学Python?有没有基础的,偏小白的学习方法?我的回答是:等我统一答复. 小胖从不食言,今天就来说说我觉得一个零基础.想转行.一直不得法的人应 ...

  10. 每天一个linux命令(15)-tail

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新, ...