历上最详细的Jenkins远程自动化部署Springcloud文档教程(liunx、jdk、git、maven、ssh、springboot)

一、前期准备

系统环境

  1. Liunx 7.5.1804
  2. bash 4.2.46
  3. jdk 1.8 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

相关软件及工程包

  1. Jenkins 2.138.2 下载地址:https://jenkins.io/download/ (只需下载WAR包)
  2. WinSCP
  3. Xshell 6
  4. git 2.17.0 下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
  5. maven 3.3.9 下载地址:http://maven.apache.org/docs/3.3.9/release-notes.html

二、搭建

在这里先简单概述下大致流程

  1. jdk安装、配置
  2. Jenkins安装、配置
  3. git安装、配置
  4. maven安装、配置
  5. 远程部署插件安装
  6. springcloud分布式项目部署

Liunx下安装JDK环境配置

第一步、将下载好的jdk包上传到服务器上
在这里插入图片描述
第二步、执行如下解压命令进行解压:

 1、cd  /home/cmfchina
 2、tar  -zxvf  jdk-8u131-linux-x64.tar.gz

解压完成之后,找到【jdk1.8.0_131】的目录
在这里插入图片描述
我们要将解压后的【jdk1.8.0_131】里面的所有数据移动到我们需要安装的文件夹当中,我们打算将jdk安装在usr/java当中,我们在usr目录下新建一个java文件夹,命令如下:

mkdir /usr/java

再将【jdk1.8.0_131】里的数据拷贝至java目录下

mv /home/cmfchina/jdk1.8.0_131 /usr/java

第三步、配置环境变量
直接输入以下命令,打开配置文件

vim /etc/profile

在profile文件最后加上如下内容(使用i进入编辑模式):

export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

效果如下图所示:
在这里插入图片描述
然后,保存并退出(先按ESC在输入wq!)

最后、检查
输入如下命令:

java -version

如果出现版本号,则说明安装成功。

Liunx下安装Jenkins及基础配置

第一步、启动Jenkins
将下载的WAR包上次到服务器指定目录中
后台启动Jenkins,命令如下

java -jar /usr/lib/jenkins/jenkins.war --httpPort=8080 &

–httpPort:指定项目端口,默认8080

第二步,初始化Jenkins程序
打开游览器 输入对应的ip:port地址
在这里插入图片描述
按照上图中的地址找到对应的密码文件,然后登陆系统

cd /root/.jenkins/secrets/initialAdminPassword

选择建议插件安装
在这里插入图片描述
安装完成后,创建用户
在这里插入图片描述
接下来就可以创建任务了
在这里插入图片描述

Jenkins配置git

第一步、安装及配置git
1、使用yum安装
输入如下指令:

 yum install git 

等待安装完成

2、验证安装结果

git --version

查看安装的Git版本,验证是否安装成功;

注意
使用yum安装确实简单方便,但yum存在一个问题就是安装的版本不好控制,安装的版本为1.8.3,这个版本太老了。
因此如果需要安装最新的版本Git,可以从github下载最新的源码进行编译,然后安装。

5、源码编译安装Git

大体的安装步骤如下:

①、获取github最新的Git安装包下载链接,进入Linux服务器,执行下载,命令为:

wget https://github.com/git/git/archive/v2.17.0.tar.gz 

②、压缩包解压,命令为:

 tar -zxvf v2.17.0.tar.gz 

③、安装编译源码所需依赖,命令为:

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

④、安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为:

 yum remove git 

⑤、进入解压后的文件夹,命令

cd git-2.17.0

然后执行编译,命令为

make prefix=/usr/local/git all 

⑥、安装Git至/usr/local/git路径,命令为

make prefix=/usr/local/git install

⑦、打开环境变量配置文件,命令

 vim /etc/profile

在底部加上Git相关配置信息

PATH=$PATH:/usr/local/git/bin 
export PATH 

然后保存,退出!
记得执行下profile 文件

source profile 

⑧、输入命令

git --version 

查看安装的git版本,校验通过,安装成功。

最后配置公钥

cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C “your_email@example.com”

可以看到当前目录下多出两个文件 id_rsa.pub 和 id_rsa 带后缀是公钥,不带是私钥
vim id_rsa.pub 打开公钥,将全部内容复制(私钥别动)
然后进入github 登录>点头像>点settings>点SSH and GPG keys>点New SSH key
Title:随便输,尽量规范
key:粘贴刚才复制的 公钥内容 。最后点击 Add SSH key

第二步在jenkins上配置git
1、在“系统管理“页面找到“插件管理”
在这里插入图片描述
在“可选插件中”搜索“Git plugin”
在这里插入图片描述
找到后点击安装,耐心等待~~~~
2、jenkins中配置Git.exe的位置
在“系统管理“页面找到“全局工具配置”
在这里插入图片描述
配置本地的git路径
在这里插入图片描述
3、为jenkins配置git拉取凭证
将之前生成的私钥复制到文本框中
在这里插入图片描述

Maven配置

1、下载maven 源码文件.tar.gz

2、解压源文件sudo tar -zxvf .tar.gz文件

3、配置/etc/profile文件

MAVEN_HOME=/app/java/maven/apache-maven-3.3.9
export MAVEN_HOME
export PATH=PATH:{PATH}:{MAVEN_HOME}/bin

4、source /etc/profile是资源文件生效(这样就不用重启系统了)

5、使用mvn -v 查看

Jenkins 远程部署插件安装

1、在 系统设置->插件管理->可选插件 搜索 Publish Over SSH,选中点击立即安装即可安装
在这里插入图片描述
2、配置远程连接信息
一、找到jenkins服务器的公钥文件
在这里插入图片描述
二、复制到远程目标服务器中的/.ssh目录下的authorize_keys文件中(如果文件不存在,就新建后复制)
在这里插入图片描述
三、在jenkins设置中 找到全局配置->SSH插件 点击add
在这里插入图片描述
Name:名字 随便取

Hostname:主机地址

Username:用户名

Remote Directory:根目录(这里就决定了把jar上传到哪里,路径要提前新建好)

然后 测试一下
在这里插入图片描述

创建springboot部署任务

一、点击首页 new 任务 后,选取构建maven项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在“Source files”中输入项目编译后jar、war保存的相对路径地址和文件名,注意这里的相对路径是相对于项目的根目录来的,maven项目一般都在target下;接下来“Remove prefix”就是用来配置去掉上一步配置的待部署文件的路径地址的,这样jenkins就能够知道具体的要传输的文件名了;“Remote directory”就是配置需要传输的目标地址的相对路径,这个相对路径是相对于在ssh中配置的用户的根目录来的;最后需要配置的就是“Exec command”就是在文件传输后需要执行的shell命令,这里可以将要远程执行的命令直接维护在这里,也可以将部署和运行springboot项目的命令写在shell里

三、附件

远程部署脚本

#!/bin/bash
BAKFOLDER="/u000/iptv/iptv-wx/bak/"
BAKFOLDERTEST="/u000/iptv/iptv-wx/bak/mp"
FOLDER="/u000/iptv/iptv-wx/mp"
FILENAME="iptv-mp-0.0.1-SNAPSHOT.jar"
FILE="/u000/iptv/iptv-wx/mp/$FILENAME"
BAKPATH="mp/"
#time
PREFIX="time="
TIME=`date +%F`
TIMES=`date +%T`
KONGGE="--"
VER="1.0"
#关掉上次启动的项目
ID=`ps -ef|grep ${FILENAME} | grep -v "grep" | awk '{print $2}'`
#echo "port is :$ID"
kill -9 $ID
#备份
if [ ! -d "$BAKFOLDER" ]
then
        mkdir $BAKFOLDER
fi
if [ ! -d "$BAKFOLDERTEST" ]
then
        mkdir $BAKFOLDERTEST
fi
if [ -f "$FILE" ]
then
cp $FILE $BAKFOLDER$BAKPATH$VER$PREFIX$TIME$KONGGE$TIMES.jar
fi
#启动
cd ${FOLDER}
chmod 777 ${FILENAME}
BUILD_ID=dontKillMe nohup /opt/java/jdk1.8.0_171/bin/java -jar ${FILENAME} --spring.profiles.active=test> ${FOLDER}/$TIME$KONGGE$TIMES.log 2>1&
#echo "start success!"
exit 0在这里插入代码片
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读