需要先安装jdk、maven、git环境

jdk安装:https://www.cnblogs.com/pxblog/p/10512886.html

maven安装:https://www.cnblogs.com/pxblog/p/13447980.html

git安装:https://www.cnblogs.com/pxblog/p/13447606.html

下载安装包

官网地址:https://www.jenkins.io/download/

也可以

https://yvioo.lanzous.com/iZx8Zfcsoti

下载后上传到服务器上,直接在文件夹底下运行

 nohup java -jar jenkins.war --httpPort=9090 &

--httpPort 是指定端口启动 默认是8080端口

nohup 是后台运行

也可以

放到tomcat下的webapps里面,然后启动tomcat,如果是这种方式的话,要在conf/server.xml上配置 URIEncoding=“UTF-8”  保证编码格式

然后启动tomcat服务即可

然后浏览器打开,访问 服务器IP:设置的端口

打开之后等待一会就会进入这个界面

然后执行,查看密码

cat /root/.jenkins/secrets/initialAdminPassword

将打印出来的密码输入进去,点击继续

这里我们选择 “安装推荐的插件”即可,然后会进入下面这个页面,这里等待进度条走完,安装完所有依赖即可

安装完成后,这里可以创建,也可以使用默认的admin ,密码就是我们之前找到 这个下 /root/.jenkins/secrets/initialAdminPassword 密钥

点击保存并完成即可

接着进行Jenkins的配置,点击系统管理-全局工具配置

也可以用下面这个方式配置,登录用户允许操作 账号就是 admin  密码就是 一开始输入的文件里面的那个密钥

然后点击保存,

全局工具配置

配置maven环境 这里我们选择本服务器安装的maven目录下settings文件 这里根据自己的来配置

这里选择本服务器的jdk目录 也是根据自己的来 别名可以自己取

这里配置maven环境 这个下面会用到

Git环境配置

然后点击保存

安装插件

要安装两个插件

Publish Over SSH、SSH

进行系统配置

设置项目部署服务器账号密码

创建一个任务

这里的任务名称可以和项目名称一样

点击确定进行保存

进行任务构建配置

这里进行git代码的用户名密码配置

Repository URL :就是远程仓库的地址

Credentials :这个就是凭证

以及可以在下面指定分支

这一步骤你可以理解为是 Jenkins要从你配置的git地址上把你的代码下载下来

构建里面进行选择

这里选择我们之前在全局配置里面配置的maven信息

然后在目标里面填写

clean compile package

这里就是把你的代码下载下来 然后进行maven打包

也是在构建 下面继续增加

上面这个

SSH site :这个选择上面在全局里面配置的要进行项目部署的所在服务器 (注:以下构建所用的都是这个服务器配置)

Command:这里填写

#!/bin/bash --login
if [ ! -d "/data/java/temp/${JOB_NAME}" ];then
mkdir -p /data/java/temp/${JOB_NAME}
fi

这个的作用是 判断 文件夹是否存在 不存在进行创建

${JOB_NAME} :这个是任务名称的占位符

接着继续增加

scp -r ${WORKSPACE}/target/*.jar root@ip地址:/data/java/temp/${JOB_NAME}/${JOB_NAME}.jar
rm -fr ${WORKSPACE}/*

${WORKSPACE}/target/*.jar  这个是生成的jar包路径,如果项目多层级的话,可能不是再根目录下,具体的根据自己的来,可以通过这个工作空间 看自己的jar包生成位置,然后把这个位置替换成自己的即可

这里的ip地址要替换成自己的

${JOB_NAME} :这个是任务名称的占位符

${WORKSPACE} :这个是工作空间

这里的作用是把构建生成的jar包上传到部署的服务器目录上(Jenkins部署的服务器和项目部署的服务器不是同一台的时候使用)

这里使用scp命令 用这个命令正常情况下是要输入密码的 但是这里我们做了配置,所以不需要输入密码

具体可以参考:https://www.cnblogs.com/pxblog/p/14396421.html

接着继续增加

具体脚本

#!/bin/bash --login
server_path="/data/java/server/"
temp_path="/data/java/temp/${JOB_NAME}"
temp_jar="${temp_path}/${JOB_NAME}.jar"
#backup
if [ ! -d "${server_path}" ];then
mkdir -p ${server_path}
fi
if [ ! -d "${temp_path}" ];then
mkdir -p ${temp_path}
fi
if [ ! -d "${server_path}/logs" ];then
mkdir -p ${server_path}/logs
fi
cd ${server_path}
# stop service
pid=`ps -ef | grep "${JOB_NAME}" | grep -v "tail" | grep -v "grep" | awk '{print $2}'`
if [ "$pid" ];then
echo "pid is $pid"
kill -9 "$pid"
else
echo "server already stopped!"
fi
# start
datestr=`date +%Y%m%d`
\cp -fr ${temp_path}/*.jar .
nohup /usr/java/jdk1.8.0_161/bin/java -jar ${JOB_NAME}.jar >>${server_path}/logs/${JOB_NAME}-${datestr}.log 2>&1 &
rm -fr ${temp_path}/*.jar

说明:

server_path: 这个是项目jar包所在路径

temp_path:这个是用来jar包生成的临时文件夹

nohup /usr/java/jdk1.8.0_161/bin/java -jar ${JOB_NAME}.jar  >>${server_path}/logs/${JOB_NAME}-${datestr}.log 2>&1 &

这个是nohup启动,注意这里的java所在路径要根据自己的实际的来 其实就是 java -jar 命令

以上就算完成了 所有的构建步骤要按照顺序来

点击这里看控制台输出信息

接着就是配置钩子了

URL地址下面显示是 JENKINS_URL/job/XXXX/build?token=TOKEN_NAME 

这里填写JENKINS_TOKEN就是我们上面的TOKEN_NAME

JENKINS_URL这个是我们一开始安装的时候默认填写的Jenkins部署地址

然后拼接成一个完成的URL地址

其实你可以理解为 你访问这个地址就会触发构建操作,你把地址放到浏览器里面访问 也会进行构建操作

gitee平台

Jenkins中下载插件,gitee 插件

然后 在项目配置里面

然后保存

然后gitee平台上

这里的URL地址和WebHook 密码 就和上面的对应  然后每次提交代码到gitee上 都会触发构建

Linux(Centos)部署Jenkins,并配置Git生成Jar包进行发布部署的更多相关文章

  1. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  2. Linux下编译java并生成jar包

    下面是WordCount.java类 package com.ll; import java.io.IOException; import java.util.Iterator; import jav ...

  3. 【JAVA】使用Eclipse依赖生成jar包时,避免最外层同时生成资源文件的配置。

    使用Eclipse依赖生成jar包时,如果做配置,生成的jar包文件会全部生成在外面,这并不是我们需要的,下面我们一起来修改下配置,使生成的jar包符合我们的需求吧. 1.如果不做任何配置生成的jar ...

  4. gitlab+jenkins自动构建jar包并发布

    一.背景介绍: 公司软件都是java开发的,一般都会将java代码打包成jar包发布:为了减轻运维部署的工作量,合理偷懒,就需要自动化流程一条龙服务:开发将代码提交到gitlab--->jenk ...

  5. 利用Maven把项目生成jar包供其他项目使用

    每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...

  6. java 生成jar包并保留注释

      java 生成jar包并保留注释 CreationTime--2018年7月17日08点32分 Author:Marydon 1.选中java项目-->右键-->Export: 2.去 ...

  7. storm学习之六-使用Maven 生成jar包多种方式

    Maven可以使用mvn package指令对项目进行打包,如果使用java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...

  8. idea 使用 git打成jar包到 nexus

    1.使用idea生成jar包参考:http://blog.csdn.net/eastgrand/article/details/11945309 2.进入到 自己的工程目录(含有pom.xml的目录) ...

  9. maven生成jar包

    改了部分cas源码,想重新生成jar包,只好试着脱离eclipse,学了一下maven打jar包的命令,记录如下: 1.首先下载maven (请注意自己的jdk版本,如果使用maven2建议使用jdk ...

随机推荐

  1. Admixture的监督分群(Supervised analysis)

    目录 说明 实战 说明 Admixture通过EM算法一般用于指定亚群分类:或者在不知材料群体结构背景下,通过迭代交叉验证获得error值,取最小error对应的K值为推荐亚群数目.如果我们预先已知群 ...

  2. DNS域名解析全过程

    一张图看懂DNS域名解析全过程   DNS域名解析是互联网上非常重要的一项服务,上网冲浪(还有人在用这个词吗?)伴随着大量DNS服务来支撑,而对于网站运营来说,DNS域名解析的稳定可靠,意味着更多用户 ...

  3. Python文件复制shutil模块

    Python中shutil模块主要用于文件操作,如复制,属性判断等 1.copyfileobj,拷贝文件内容,将文件句柄赋给该方法 def copyfileobj(src, dst, length=1 ...

  4. printf 的 转义词 -转

    \n    换行 \r    回车键 \b   退后一格 \f    换页 \t    水平制表符 \v   垂直制表符 \a   发出鸣响 \? 插入问号 \"    插入双引号 \'   ...

  5. LeetCode:旋转图像

    题目描述 给定一个 n × n 的二维矩阵 matrix 表示一个图像.请你将图像顺时针旋转 90 度. 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要 使用另一个矩阵来旋转图 ...

  6. hadoop-uber作业模式

    如果作业很小,就选择和自己在同一个JVM上运行任务,与在一个节点上顺序运行这些任务相比,当application master 判断在新的容器中的分配和运行任务的开销大于并行运行它们的开销时,就会发生 ...

  7. 【Android】安装插件 + 改变文字大小、颜色 + 隐藏代码区块的直线

    安装插件 可以在搜寻框里面填入关键字搜寻,具体的插件,网上有很多介绍了 改变文字大小.颜色 隐藏代码区块的直线

  8. MySQL压力测试工具

    一.MySQL自带的压力测试工具--Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新 ...

  9. Java中特殊的类——Object类

    Java中特殊的类--Object类 1.Object类的概述 Object类是java默认提供的类.Java中除了Object类,所有的类都是有继承关系的.默认会继承Object类,即所有的对象都可 ...

  10. 【Python】【Basic】MacOS上搭建Python开发环境

    1. Python3 1.1. 下载地址:https://www.python.org/downloads/mac-osx/ 1.1.1. PKG包安装: 没啥可说的,点点点,下一步而已,不用手动配置 ...