一、环境准备

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. Qt 项目中main主函数及其作用

    main.cpp 是实现 main() 函数的文件,下面是 main.cpp 文件的内容. #include "widget.h" #include <QApplicatio ...

  2. jQuery包装

    1. jQuery包装多个选择器的click事件 // "告警等级"选择 $("#filter_level_1, #filter_level_2, #filter_lev ...

  3. G1最佳实践

    示例 -Xms1550m -Xmx1550m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -verbosegc -XX:+PrintGCDateStamps -Xlog ...

  4. Yii2创建管理员登录

    1. 创建管理员表 进入项目根目录,在根目录执行命令: 1 $ ./yii migrate 2. 创建管理的控制器 1 $ cd console/controllers/ 编写代码如下: 123456 ...

  5. abator中可生成iBatis的代码

    1.insert 不论你设置多少个字段,统一都要添加一遍 比如:insert into tb_user (id,name,age,password) value (null,”张三”,null,nul ...

  6. CSS--沃顿商学院网页布局

    源代码: <head> 右键CSS样式--附加样式表 </head> <body> <div id="dd"> <div id ...

  7. 解决android 无法打开 DDMS 中的data目录

    把上面操作一遍就可以了,如果还是不行你可以检查下 su 是不是输入错误了.

  8. zepto.js和jquery.js函数比较有什么优点?

    1.Zepto.js 是专门为现代智能手机浏览器退出的 Javascript 框架, 拥有和jQuery相似的语法, 但是和jQuery相比下来, 他有很多优点, 大小方面 , 压缩后的 zepto. ...

  9. Dungeon Master (三维BFS)

    题目: You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed o ...

  10. Promise 的含义

    Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Pro ...