Jenkins Pipeline 部署 SpringBoot 應用的教程詳解
一. 安裝依賴包
yum install -y wgetyum install -y gcc-c++yum install -y zlib-devel perl-ExtUtils-MakeMakeryum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMakeryum install -y openssh-clientsyum install -y fontconfig
二. 環(huán)境準備
1.安裝JAVA環(huán)境
yum -y install java-1.8.0-openjdk#檢測是否安裝成功java -version
修改/etc/profile文件,添加JAVA_HOME
vi /etc/profile在文件的最后面,加上以下代碼export JAVA_HOME=/java/jdk1.8.0_171export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH
在執(zhí)行完保存過后,必須執(zhí)行以下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然后還需要 配置環(huán)境變量。 #在適當?shù)奈恢锰砑?/p>
export M2_HOME=/usr/local/maven3export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
保存退出后運行下面的命令使配置生效,或者重啟服務器生效。
source /etc/profile
驗證版本
mvn -v
出現(xiàn)maven版本即成功
阿里云源
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror></mirrors>
三. 安裝Jenkins部署SpringBoot應用
rpm方式安裝:
sudo wget https://pkg.jenkins.io/redhat-stable/jenkins-2.164.1-1.1.noarch.rpmsudo rpm -ivh jenkins-2.164.1-1.1.noarch.rpm
#重載服務(由于前面修改了Jenkins啟動腳本)sudo systemctl daemon-reload#啟動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/jenkinssudo chgrp -R root /var/log/jenkinssudo chown -R root /var/lib/jenkins sudo chgrp -R root /var/lib/jenkinssudo chown -R root /var/cache/jenkinssudo 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
進入之后創(chuàng)建好自己的用戶名與密碼,跳過所有下載。
登陸之后進入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=true 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公鑰私鑰目錄(清空舊秘鑰) 在當前目錄下執(zhí)行ssh-keygen -t rsa,三次回車后生成新的公鑰(id_rsa.pub)私鑰(id_rsa)文件(每個節(jié)點都要重新生成) 在主節(jié)點上執(zhí)行命令:cat id_rsa.pub >> authorized_keys把公鑰內容拷貝到該文件中 登錄其它節(jié)點,把其它節(jié)點的公鑰都拷貝到主節(jié)點的authorized_keys文件中(需要輸入密碼)到此這篇關于Jenkins Pipeline 部署 SpringBoot 應用的文章就介紹到這了,更多相關Jenkins Pipeline 部署 SpringBoot內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: