一、环境准备

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服务

  1. echo "开始上传文件"
  2. cd D:\Program Files (x86)/Jenkins
  3. D:
  4. 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
  5. echo "上传文件成功"
  6. exit
  1. cd /usr/local/src/web
  2. ps axu | grep sercurityOauth-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9
  3. 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 &
  4. 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. es6变量和函数的提升、暂时性死区?

    es6变量和函数的提升.暂时性死区?

  2. cs231n spring 2017 lecture16 Adversarial Examples and Adversarial Training

    (没太听明白,以后再听) 1. 如何欺骗神经网络? 这部分研究最开始是想探究神经网络到底是如何工作的.结果人们意外的发现,可以只改变原图一点点,人眼根本看不出变化,但是神经网络会给出完全不同的答案.比 ...

  3. openssl nodejs https+客户端证书+usbkey

    mac sslconfig 文件路径 /System/Library/OpenSSL/openssl.cnf 一生成CA openssl req -new -x509 -keyout ca.key - ...

  4. “冰桶挑战”之外:微软科技助力ALS患者

    编者按:"直到ALS出现治疗方法,科技就是我的解药."ALS患者,前美国橄榄球联盟(NFL)球员Steve Gleason如是说.最近,一支微软首届黑客马拉松(Hackathon) ...

  5. undefined reference to 问题汇总及解决方法 ----- 还有一种问题没有解决(可能是顺序问题)

    1.链接时缺失了相关的目标文件 2.链接时缺少了相关的库文件 3.链接的库文件中有使用了另一个库文件 4.多个库文件链接顺序问题 5.定义与实现不一致 6.在c++代码中链接C语言的库   转载地址: ...

  6. 用VS2013进行调试

    首先新建一个简单的C++程序 打开VS2013-文件-新建-项目-选择Win32 控制台程序 添加-新建项-选择C++源文件 编写如下代码 #include<iostream> using ...

  7. angular jspaf

    import { Component, OnInit } from '@angular/core'; import * as jsPDF from 'jspdf'; import html2canva ...

  8. python编程基础——集合

    集合是是基本数据类型的一种集合类型. 作用:去重 属性:intersection.union.difference.issubset 实例: list_1=[1,2,3,4,3,5,2,6,1]lis ...

  9. 将Hexo网站托管到Coding.net

    只需要注册coding.net,然后建立一个名为用户名+coding.me的仓库即可,需要注意的是 coding.net的pages仓库只能有一个master分支 开始使用 Coding Pages官 ...

  10. Archlinux 自动挂载移动硬盘,开机自动启动smb服务

    Archlinux + Raspberry 打造NAS: samba篇 树莓派自动挂载硬盘,并开启smb服务. 开机自动挂在移动硬盘ntfs 安装ntfs-3g sudo pacman -S ntfs ...