环境要求:

  保证你的网络畅通。否则会遇到很多问题。

Java : 1.8.0_161.

Maven :http://maven.apache.org/download.cgi 3.6.1 下载完解压,配置环境变量:vim /etc/profile

MAVEN_HOME=/mysoft/maven
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH

  生效配置文件 source /etc/profile

Git : https://github.com/git/git/releases   2.23.0

  安装依赖的包

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

  下载源码包进行源码安装:

解压:tar zxvf git-2.23..tar.gz
mv git-2.23. git
cd git

  编译安装:

make prefix=/usr/local/git all
make prefix=/usr/local/git install

  配置环境变量

vim /etc/profile
加入export PATH=$PATH:/usr/local/git/bin
生效配置文件 source /etc/profile

  查看目录:whereis git , 查看版本:git --version

Jenkins 安装:

  下载地址:https://jenkins.io/zh/download/    2.191

  启动方法: java  -jar jenkins.war 即可,如果要以后台进程的方式启动,改成nohup java -jar jenkins.war & 即可,启动过程中,它会将war包解压到~/.jenkins目录下,并生成一些目录及配置文件

  我这边是直接吧war包放到了tomcat的webapps目录下,重启一下tomcat通过 192.168.1.101:8080/jenkins/ 来访问:

  首先需要解锁jenkins ,这里密码到对应目录下拷贝进去即可,安装推荐的插件。

  这里我们需要的插件是  Maven (Maven Integration),Git ,SSH(Publish Over SSH),GitHub Integration 等常用的插件,如果缺少插件可以到 Manage Plusins 中去安装:

Jenkins 基本配置:

  基本配置中 JDK,Maven ,Git 的配置是必不可少的,在Global Tool Configuration 中配置(我部署在linux上,路劲均为服务器路径):

 

  我们这里需要远程发布,所以我们这里还需要配置 SSH,在系统配置中 Configure System,首先我们需要在本机上生成私钥,设置目标服务器免密登录: ssh-keygen -t rsa

  设置免密登录: ssh-copy-id root@IP

  测试:

  配置,这里的目录建议是 / ,不然后面会有影响:

  测试是否成功:

  创建一个 Maven  Job:

  创建完我们需要进行进一步的配置:首先,我这里是从GitHub进行源码管理,需要配置项目的远程仓库地址:

  我这里采用的是父子工程的方式,所以我们需要指定对应的 Pom 文件进行项目构建:

  接下去需要去配置 Post Steps :

source /etc/profile
project=springboot-study-1.0-SNAPSHOT.jar 对应的工程
dir=/mysoft/ 目录
pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill - $pid
fi
nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $dir$project --spring.profiles.active=dev >/dev/null >&&

  就这样配置完成。

项目构建:

  回到 My  Views 进行代码构建:

  可以到控制台查看构建情况:

  当构建完成会出现以下日志:

  然后到对应的服务器指定目录下查看是否出现 该Jar ,如果jar启动失败则需要查看项目是否有问题。这样就完成了简单的构建发布过程

Push代码后进行自动构建:

  JenKins安装Gitlab Hook 两个Plugin插件。

  GitHub收到提交的代码后要主动通知Jenkins,所以Jenkins所在服务器一定要有外网IP,否则GitHub无法访问,我的Jenkins服务器是部署在阿里云的云主机上,带有外网IP。

  GitHub WebHook配置,地址就是上面这个:

  配置触发器:

  然后推一下代码就能看到构建

  

Jenkins安装配置 远程发布SpringBoot项目的更多相关文章

  1. jenkins安装配置及发布

    1. yum install -y lrzsz vim net-tools 2. 下载jdk-8u131-linux-x64.tar.gz http://www.oracle.com/technetw ...

  2. windows jenkins 发布 springboot项目脚本

    windows  jenkins 发布 springboot项目脚本 1.关闭现有程序 (按端口关闭) [与按应用关闭 二选一] @echo off for /f "tokens=1-5&q ...

  3. jenkins安装-配置

    jenkins安装-配置 注意: jenkins访问 用chrome浏览器 安装包下载:http://pkg.jenkins-ci.org/redhat/ (使用2.92版本的) 安装jdk: 1.8 ...

  4. CentOS安装+配置+远程

    这篇博客我之前写在了csdn,转了过来,这篇是自己认为写的比较有技术含量的文章^_^ 最近和CentOS打了交到,其中遇到了很多问题,于是看了一些博客,解决了一些问题,但是都不是特别全面,所以想来一篇 ...

  5. SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、属性配置、多环境配置

    1 InteliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到官 ...

  6. SpringBoot01 InteliJ IDEA安装、Maven配置、创建SpringBoot项目、yml属性配置、多环境配置、自定义properties配置

    1 IntelliJ IDEA 安装 下载地址:点击前往 注意:需要下载专业版本的,注册码在网上随便搜一个就行啦 2 MAVEN工具的安装 2.1 获取安装包 下载地址:点击前往 2.2 安装过程 到 ...

  7. jenkins maven 自动远程发布到服务器,钉钉提醒团队

    jenkins 自动远程发布到服务器 1.安装jenkins 安装过程:自行百度 英文不好的,不要装最新版的jenkins.建议安装Jenkins ver. 2.138.4,此版本可以设置中文语言,设 ...

  8. Jenkins使用SSH远程发布

    远程发布需要安装Publish Over SSH插件 比如我们的应用服务器都是通过tomcat用户启动程序,因此,在jenkin服务器上配置免密登录远程服务器tomcat用户 //生成密钥对 ssh- ...

  9. 利用Jenkins实现jdk11+Maven构建springboot项目

    目录 原理图 前期准备 Jdk11安装 Jenkins安装 Maven安装 Jenkins的设置 插件安装 变量配置 搭建项目 1.通用配置 2.源码管理 3.构建触发 4.Maven的构建选项 5. ...

随机推荐

  1. Git之旅(1):安装git

    一.在windows中安装git git官网:https://git-scm.com/downloads 二.在centos系统安装git 2.1 配置base源和epel源 # cat /etc/y ...

  2. git log 详解 以及代码量统计

    https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86% ...

  3. CF1103C Johnny Solving (Codeforces Round #534 (Div. 1)) 思维+构造

    题目传送门 https://codeforces.com/contest/1103/problem/C 题解 这个题还算一个有难度的不错的题目吧. 题目给出了两种回答方式: 找出一条长度 \(\geq ...

  4. zip(), dict(), itertools.repeat(), list(迭代器)

    *. zip(), dict() def demo_zip_dict(): keys = ['a', 'b', 'c'] values = [1, 2, 3] entrys = zip(keys, v ...

  5. HDU-6278-Jsut$h$-index(主席树)

    链接: https://vjudge.net/problem/HDU-6278 题意: The h-index of an author is the largest h where he has a ...

  6. python+selenium模拟京东登录后台

    python+selenium模拟京东登录后台 import json from time import sleep from selenium import webdriver #from sele ...

  7. 货币系统 Money Systems

    母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,,, 或 ,, 和 100的单位面值组成的. 母牛想知道有 ...

  8. POJ Knight Moves 2243 x

    Knight Moves Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13974   Accepted: 7797 Des ...

  9. 常用的JAVA第三方工具类

    转自:https://www.jianshu.com/u/9c5cb1ee4c46 一. org.apache.commons.io.IOUtils 注解 说明 closeQuietly 关闭一个IO ...

  10. Finer Resolution Observation and Monitoring -Global Land Cover更精细的分辨率观测和监测-全球土地覆盖

    http://data.ess.tsinghua.edu.cn/ 全球土地覆盖数据是了解人类活动与全球变化之间复杂互动的关键信息来源.FROM-GLC(全球土地覆盖的精细分辨率观测和监测)是首个使用陆 ...