Jenkins Pipeline 部署 SpringBoot 应用的教程详解

网友投稿 418 2022-12-01


Jenkins Pipeline 部署 SpringBoot 应用的教程详解

一. 安装依赖包

yum install -y wget

yum install -y gcc-c++

yum install -y zlib-devel perl-ExtUtils-MakeMaker

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

yum install -y openssh-clients

yum install -y fontconfig

二. 环境准备

1.安装java环境

yum -y install java-1.8.0-openjdk

#检测是否安装成功

java -version

修改/etc/profile文件,添加JAVA_HOME

vi /etc/profile

在文件的最后面,加上以下代码

export JAVA_HOME=/java/jdk1.8.0_171

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

在执行完保存过后,必须执行以下source /etc/profile,重置文件,让它生效。

2.安装Maven

#下载

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

#解压改名移动目录

tar zxf apache-maven-3.1.1-bin.tar.gz

mv apache-maven-3.1.1 /usr/local/maven3

vi /etc/profile然后还需要 配置环境变量。 #在适当的位置添加

export M2_HOME=/usr/local/maven3

export PAhttp://TH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

保存退出后运行下面的命令使配置生效,或者重启服务器生效。

source /etc/profile

验证版本

mvn -v

出现maven版本即成功

阿里云源

alimaven

aliyun maven

http://maven.aliyun.com/nexus/content/groups/public/

central

三. 安装Jenkins部署SpringBoot应用

rpm方式安装:

sudo wget https://pkg.jenkins.io/redhat-stable/jenkins-2.164.1-1.1.noarch.rpm

sudo rpm -ivh jenkins-2.164.1-1.1.noarch.rpm

#重载服务(由于前面修改了Jenkins启动脚本)

sudo systemctl daemon-reload

#rXwVX启动Jenkins服务

sudo systemctl start jenkins

#将Jenkins服务设置为开机启动

#由于Jenkins不是Native Service,所以需要用chkconfig命令而不是systemctl命令

sudo /sbin/chkconfig jenkins on

war包方式:

修改Jenkins默认用户:

vi /etc/sysconfig/jenkins

#修改为Root用户

JENKINS_USER="root"

#给用户授权

sudo chown -R root /var/log/jenkins

sudo chgrp -R root /var/log/jenkins

sudo chown -R root /var/lib/jenkins

sudo chgrp -R root /var/lib/jenkins

sudo chown -R root /var/cache/jenkins

sudo chgrp -R root /var/cache/jenkins

直接将War包上传到服务器运行即可。

nohup java -jar jenkins.war >jenkins.log 2>&1 &

运行后访问localhost:8080即可。

进入界面后需要输入一串密码在服务器查看即可:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

进入之后创建好自己的用户名与密码,跳过所有下载。

登陆之后进入Manage Jenkins -> Global Tool Configuration 中进行配置Maven,Git,JDK

四. 新建Pipeline 项目

配置Git仓库:

脚本路径是指代码拉下的jenkins_files目录里面的01_eureka文件。

node {

def mvnHome

def workspace = pwd()

def project_name = 'eureka-server-1.0.0.jar'

def project_log = 'eureka-server-1.0.0.log'

def project_home = 'app-centre/eureka-server'

def vm_ip = 'xxx.xxx.xxx.xxx'

def vm_port = '22'

def vm_user = 'root'

//代码获取

stage('Preparation') { // for display purposes

git branch: 'dev',

url:'https://xxxxxxx.git'

}

//构建

stage('Build') {

// Run the maven build

if (isUnix()) {

sh "mvn -Dmaven.test.skip=true clean package"

} else {

bat(/mvn -Dmaven.test.skip=thttp://rue clean package/)

}

}

//移动

stage('MV') {

sh "mv ${project_home}/target/${project_name} /usr/local/src/"

}

//上传到服务器

stage('Upload VM') {

sh "scp -P ${vm_port} /usr/local/src/${project_name} ${vm_user}@${vm_port}:/usr/local/src/bk"

//sh "ssh -p ${vm_port} ${vm_user}@${vm_ip} 'nohup java -jar /usr/local/src/${project_name} >> ${project_log} '"

}

//运行JAR包

stage('Run') {

//sh "if (ps -ef| grep java|grep ${project_name})then (ps -ef| grep java|grep ${project_name}| awk '{print \$2}'|xargs kill -9) fi"

sh "ssh -p ${vm_port} ${vm_user}@${vm_ip} 'nohup java -jar /usr/local/src/${project_name} >${project_log} 2>&1 &'"

}

}

脚本步骤为

1.Preparation 拉取代码

2.Build 编译打包

3.MV 移动到指定目录

4.Upload VM 上传 jar包到虚拟机

5.Run 运行远程服务器Jar包

注意事项:

需要在脚本上直接将Jar上传到服务器必须配置ssh公钥私钥,配置步骤为:

进入服务器Root目录

输入命令:cd .ssh进入rsa公钥私钥目录(清空旧秘钥)

在当前目录下执行ssh-keygen -t rsa,三次回车后生成新的公钥(id_rsa.pub)私钥(id_rsa)文件(每个节点都要重新生成)

在主节点上执行命令:cat id_rsa.pub >> authorized_keys把公钥内容拷贝到该文件中

登录其它节点,把其它节点的公钥都拷贝到主节点的authorized_keys文件中(需要输入密码)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现发送邮件的示例代码
下一篇:通过实例解析传统jar包引用方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~