Spring Boot 項目打包 + Shell 腳本部署實踐,太有用了!

本篇和大家分享的是 Spring Boot 打包并結(jié)合 Shell 腳本命令部署缠犀,重點在分享一個shell 程序啟動工具数苫,希望能便利工作;

profiles指定不同環(huán)境的配置

maven-assembly-plugin打發(fā)布壓縮包

分享shenniu_publish.sh程序啟動工具

linux上使用shenniu_publish.sh啟動程序

profiles指定不同環(huán)境的配置

通常一套程序分為了很多個部署環(huán)境:開發(fā)辨液,測試虐急,uat,線上 等滔迈,我們要想對這些環(huán)境區(qū)分配置文件止吁,可以通過兩種方式:

通過application.yml中編碼指定 profile.active=uat 方式指定

通過mvn中profiles來區(qū)分不同環(huán)境對應(yīng)的配置文件夾,人工可以手動在idea勾選生成不同環(huán)境的包(推薦)

這里我們要講的是第二種燎悍,首先在mvn中配置如下內(nèi)容:

節(jié)點粗解:

id:用來指定不同環(huán)境配置文件所在的目錄敬惦,如下我這里:

properties:該節(jié)點中的節(jié)點是可作為參數(shù)傳遞給其他配置文件,如我這里的package-name節(jié)點值就可以在另外的assembly.xml或者shell腳本文件中通過${package-name}獲取到谈山,如下:

activeByDefault:指定默認(rèn)環(huán)境配置文件夾

maven-assembly-plugin打發(fā)布壓縮包

對于springboot程序打包俄删,可以分為jar和war,這里是jar包;有場景是咋們配置文件或者第三方等依賴包不想放到工程jar中畴椰,并且把這些文件壓縮成一個zip包臊诊,方便上傳到linux;此時通過maven-assembly-plugin和maven-jar-plugin就可以做到斜脂,mvn的配置如:

值得注意的地方如下幾點:

mainClass節(jié)點:用來指定啟動main函數(shù)入口類路徑抓艳,如這里的:com.sm.EurekaServerApplication

excludes節(jié)點:排除主jar包中配置等一些列后綴文件,因為我們要包這些配置文件放到主包外面

descriptor節(jié)點:用來指定assembly插件對應(yīng)的assembly.xml配置文件

有了上面mvn配置帚戳,我們還需要assembly.xml的配置玷或,這里提取了結(jié)合shell腳本發(fā)布程序的配置:

重點節(jié)點介紹:

formats節(jié)點:把配置文件和jar包等壓縮成什么文件格式,這里可以有:zip片任,tar等

fileMode節(jié)點:指定scripts目錄下腳本文件(這里是:shenniu_publish.sh)在linux上文件權(quán)限為777

filtered節(jié)點:腳本中參數(shù)變量為pom的profiles中properties的值(該配置偏友,是把mvn中屬性值映射生成到sh文件中,如:${package-name})

完成上面配置后蚂踊,此時我們可以通過idea上勾選切換不同環(huán)境來打zip包约谈,如圖:

分享shenniu_publish.sh程序啟動工具

上面步驟完成了zip格式的發(fā)布包,我們再分享下啟動程序的shell腳本犁钟,該腳本具有的功能如:

解壓zip+啟動jar包

啟動jar包

停止對應(yīng)jar運行

重啟jar程序

目前該shell中封裝了兩種啟動jar命令的方式:

java -cp

java -jar

如圖命令格式:

來看全部的shell代碼:

正如上面小節(jié)說的棱诱,shell中的參數(shù) package-name,activeProfile涝动,boot-main 都是由mvn中profiles的properties中提供迈勋,是可變的參數(shù),腳本代碼本身不需要人工去修改醋粟,只需要變的是mvn的參數(shù)即可靡菇;其實在我們生成zip包的時候,shell中的參數(shù)就被替換了米愿,可以看zip中shell文件內(nèi)容如:

把生成的zip上傳到linux上厦凤,通過命令解壓:

1?unzip?-od?eureka-server-0.0.1-node?eureka-server-0.0.1-node.zip

其實shell腳本中包含有解壓命令,但是我在打包時放在了zip中育苟,所以只能通過手動解壓了较鼓,當(dāng)然可以調(diào)整;此時進入加壓目錄如此:

注:這里第一次執(zhí)行./shenniu_publish.sh腳本時候违柏,提示了錯誤信息博烂;是由于我是在windows上編輯的這個腳本,其空格等和linux上不一樣漱竖,所以運行會有問題禽篱,要解決可以使用vim命令在linux把該文件轉(zhuǎn)成linux格式,如下命令:

執(zhí)行完后馍惹,再來運行腳本./shenniu_publish.sh躺率,此時有如下提示:

此刻我們文件是解壓狀態(tài)玛界,因此只需要start命令啟動程序即可:


到這里shenniu_publish.sh腳本使用就完成了,只要腳本沒有提示錯誤肥照,基本都能啟動jar服務(wù)脚仔;其他restart和stop命令也如此執(zhí)行就行:


可以去研究下shell代碼,希望該腳本能給你帶來效率和好的學(xué)習(xí)思路舆绎,下面是測試用例git地址,腳本在eureka-server項目中:https://github.com/shenniubuxing3/springcloud-Finchley.SR2

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末们颜,一起剝皮案震驚了整個濱河市吕朵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窥突,老刑警劉巖努溃,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阻问,居然都是意外死亡梧税,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門称近,熙熙樓的掌柜王于貴愁眉苦臉地迎上來第队,“玉大人,你說我怎么就攤上這事刨秆〉是” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵衡未,是天一觀的道長尸执。 經(jīng)常有香客問我,道長缓醋,這世上最難降的妖魔是什么如失? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮送粱,結(jié)果婚禮上褪贵,老公的妹妹穿的比我還像新娘。我一直安慰自己葫督,他們只是感情好竭鞍,可當(dāng)我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著橄镜,像睡著了一般偎快。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洽胶,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天晒夹,我揣著相機與錄音裆馒,去河邊找鬼。 笑死丐怯,一個胖子當(dāng)著我的面吹牛喷好,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播读跷,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼梗搅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了效览?” 一聲冷哼從身側(cè)響起无切,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丐枉,沒想到半個月后哆键,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡瘦锹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年籍嘹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弯院。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡辱士,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抽兆,到底是詐尸還是另有隱情识补,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布辫红,位于F島的核電站凭涂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贴妻。R本人自食惡果不足惜切油,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望名惩。 院中可真熱鬧澎胡,春花似錦、人聲如沸娩鹉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弯予。三九已至戚宦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锈嫩,已是汗流浹背受楼。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工垦搬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人艳汽。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓猴贰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親河狐。 傳聞我的和親對象是個殘疾皇子米绕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容