居然僅用瀏覽器稽坤,就完成了Spring Boot應(yīng)用的開發(fā)與部署丈甸!

最近有幸試用了一下阿里云的一個(gè)新產(chǎn)品:云開發(fā)平臺(tái),體驗(yàn)一把全新的開發(fā)模式尿褪!雖然中間也碰到了一些問題睦擂,但整體的體驗(yàn)透露著未來(lái)感,因?yàn)檎麄€(gè)過程都不需要使用我們最常用的IDEA杖玲,僅依靠瀏覽器就把一個(gè)Spring Boot干上線了顿仇!

啥是云開發(fā)平臺(tái)?云開發(fā)平臺(tái)(https://workbench.aliyun.com)摆马,是阿里云面向廣大開發(fā)者提供的云上研發(fā)工作平臺(tái)臼闻,助力研發(fā)團(tuán)隊(duì)實(shí)現(xiàn)工作的在線化(團(tuán)隊(duì)在線、環(huán)境在線囤采、代碼在線述呐、協(xié)同在線)以及研發(fā)模式Serverless化,幫助研發(fā)團(tuán)隊(duì)實(shí)現(xiàn)對(duì)行業(yè)架構(gòu)經(jīng)驗(yàn)及架構(gòu)服務(wù)的高效分享與傳播蕉毯,極致提升研發(fā)效率乓搬,極致降低研發(fā)成本思犁。

下面,我就來(lái)分享一下如何在這個(gè)平臺(tái)中開發(fā)與部署Spring Boot應(yīng)用缤谎!有興趣的童鞋抒倚,可以點(diǎn)擊進(jìn)入云開發(fā)平臺(tái),一步步跟我體驗(yàn)完整的開發(fā)體驗(yàn)坷澡!

基礎(chǔ)配置

第一步:創(chuàng)建新應(yīng)用

第二步:選擇“Microservice”托呕,解決方案選擇“Spring Boot應(yīng)用遷移方案(SAE)”或“Spring Boot應(yīng)用遷移方案(ASK)”。之前寫過很多Spring Boot例子频敛,所以就用遷移方案試試把已經(jīng)開發(fā)好的Spring Boot拉進(jìn)來(lái)的場(chǎng)景吧项郊!

第三步:輸入Spring Boot應(yīng)用相關(guān)的信息

點(diǎn)擊“完成”之后,可以在應(yīng)用列表中看到剛剛完成創(chuàng)建的hello-world應(yīng)用斟赚。

從上面的卡片元素中着降,我們可以看到,雖然只是簡(jiǎn)單的一個(gè)創(chuàng)建應(yīng)用操作拗军,實(shí)際上做了非常多的事情任洞,比如:分配環(huán)境、創(chuàng)建Git倉(cāng)庫(kù)等发侵。

應(yīng)用開發(fā)

在云開發(fā)平臺(tái)中可以通過兩種方式進(jìn)行開發(fā):在線開發(fā)(瀏覽器中完成)交掏、線下開發(fā)(傳統(tǒng)編輯器開發(fā))。

在線開發(fā)

點(diǎn)擊應(yīng)用卡片中的“開發(fā)部署”刃鳄,就會(huì)進(jìn)入到下面的云開發(fā)頁(yè)面:

在左中位置可以看到該項(xiàng)目中已經(jīng)有的文件(主要一些鏡像構(gòu)建配置盅弛、運(yùn)行腳本和說(shuō)明文檔等)。

拿出我們以前的Spring Boot樣例(如果你沒玩過Spring Boot叔锐,可見免費(fèi)系列教程)挪鹏,拖一個(gè)以前寫過的Spring Boot應(yīng)用進(jìn)來(lái)試試:

拖入代碼之后,根據(jù)云開發(fā)平臺(tái)的規(guī)范要求愉烙,需要對(duì)項(xiàng)目組織做一些修改讨盒,所以打開pom.xml,做如下配置修改:

  1. properties中添加applicationName配置步责,必須要有返顺,不能省略
  2. build中添加finalName配置,必須與****applicationName一致勺择,所以也可以用引用的方式
  3. 配置spring-boot-maven-plugin插件,打包格式使用ZIP伦忠、注意修改應(yīng)用主類路徑

在線測(cè)試

在完成了項(xiàng)目的導(dǎo)入之后省核,我們嘗試運(yùn)行該應(yīng)用。

  1. 點(diǎn)擊底部的“終端”標(biāo)簽
  2. 在命令行中輸入:mvn spring-boot:run

不出意外昆码,終端將輸出類似下面的內(nèi)容气忠,應(yīng)用成功啟動(dòng)邻储!

但是應(yīng)用是啟動(dòng)到云平臺(tái)上,并非本地旧噪,我們要如何驗(yàn)證應(yīng)用提供的接口呢吨娜?

點(diǎn)擊上面的“預(yù)覽”按鈕,然后在頂部彈出框中輸入想要暴露的端口號(hào)淘钟,比如:8080

根據(jù)提示宦赠,按回車之后,右下方會(huì)出現(xiàn)是否立即訪問的提示米母,直接點(diǎn)擊訪問就可以進(jìn)入到可訪問的域名地址(該地址映射到了云平臺(tái)上的啟動(dòng)地址)

file

代碼提交

在完成了上面的相關(guān)開發(fā)工作之后勾扭,通常我們要關(guān)注的就是代碼的提交。這時(shí)候就可以點(diǎn)擊左側(cè)的分支圖標(biāo)铁瞒,將修改代碼進(jìn)行 commit

然后點(diǎn)擊左下方的箭頭妙色,將代碼push進(jìn)倉(cāng)庫(kù)(關(guān)于Git相關(guān)的操作,一開始沒摸著頭腦慧耍,不是很流暢身辨,期待后續(xù)有更好的用戶體驗(yàn)改進(jìn))

本地開發(fā)

也許你可能覺得目前的在線編輯器還不夠強(qiáng)大,比如上面我們就看到對(duì)于pom.xml都還沒有高亮顯示芍碧。那么這個(gè)時(shí)候煌珊,你也可以選擇本地開發(fā)模式。只需要在應(yīng)用卡片中點(diǎn)擊“代碼倉(cāng)庫(kù)”师枣,進(jìn)入到下面的頁(yè)面中怪瓶,將你本地的ssh密鑰輸入保存,然后就可以根據(jù)代碼倉(cāng)庫(kù)將該應(yīng)用的Git倉(cāng)庫(kù)拉到本地進(jìn)行開發(fā)了践美!

file

小建議:可以看到這里的倉(cāng)庫(kù)名稱是按日期時(shí)間來(lái)構(gòu)建的洗贰,如果使用在線開發(fā)還好,對(duì)這塊內(nèi)容不敏感陨倡。但是如果想在本地開發(fā)敛滋,這樣的命名對(duì)于用戶來(lái)說(shuō)就不那么友好,有時(shí)候會(huì)以為是個(gè)臨時(shí)目錄兴革,期待后續(xù)會(huì)有所改進(jìn)绎晃!

應(yīng)用部署

在完成了應(yīng)用開發(fā),本地測(cè)試之后杂曲,我們要做的就是應(yīng)用交付與部署庶艾。所以,我們接下來(lái)試試這個(gè)平臺(tái)的部署功能擎勘!

在進(jìn)行部署之前咱揍,我們需要先檢查一下當(dāng)前環(huán)境是否具備部署條件。點(diǎn)擊應(yīng)用卡片中的“環(huán)境管理”按鈕棚饵,可以看到如下頁(yè)面:

file

如果里面有依賴的云服務(wù)沒有開通煤裙,那么就點(diǎn)擊立即開通去逐個(gè)開通服務(wù)掩完,不然后續(xù)的部署過程就無(wú)法正常完成。

如果你的應(yīng)用中涉及到一些環(huán)境變量的使用硼砰,那么繼續(xù)點(diǎn)擊應(yīng)用卡片中的“應(yīng)用配置”來(lái)設(shè)置且蓬。

file

如果你的應(yīng)用需要多人一起開發(fā),那么在“成員管理”中可以用阿里云賬號(hào)把其他開發(fā)者加入進(jìn)來(lái)题翰,他們就也可以跟你一樣訪問你的應(yīng)用代碼了恶阴。

file

準(zhǔn)備就緒,繼續(xù)正題遍愿。繼續(xù)打開開發(fā)部署界面存淫,點(diǎn)擊左側(cè)欄第一個(gè)按鈕,可以看到部署欄彈出:

file

選擇好要部署的環(huán)境(日常環(huán)境沼填、預(yù)發(fā)環(huán)境桅咆、線上環(huán)境),先選擇第一個(gè)環(huán)境:日常環(huán)境坞笙,點(diǎn)擊部署岩饼。

關(guān)于環(huán)境,這里目測(cè)還不能對(duì)環(huán)境進(jìn)行添加或修改薛夜。還是比較期待對(duì)環(huán)境有一定的靈活性配置籍茧,不論從名稱還是環(huán)境的數(shù)量上,不同的管理風(fēng)格還是有很多種不同可能的梯澜。

file

點(diǎn)擊“繼續(xù)部署”寞冯,開始完成整個(gè)CI與CD過程:

file

從日志中的日志鏈接進(jìn)入,還可以看到當(dāng)前容器的構(gòu)建情況:

file

如果出問題晚伙,那就點(diǎn)擊日志可以看到具體情況吮龄,比如:

file

如果你的服務(wù)之前都已經(jīng)開通,項(xiàng)目配置也都沒問題咆疗,那么就會(huì)如下面這樣漓帚,完成部署。在部署完成后會(huì)輸出可訪問的域名午磁,你可以用它來(lái)訪問你提供的接口來(lái)驗(yàn)證應(yīng)用是否啟動(dòng)正確尝抖。

file

持續(xù)部署

上面我們完成了一個(gè)環(huán)境的部署,已經(jīng)覆蓋了CI和CD的基礎(chǔ)操作迅皇。下面來(lái)試一下持續(xù)部署(CD)部分的靈活性昧辽。

在部署欄中,選擇其他環(huán)境試試

file

可以看到有一個(gè)特殊的選項(xiàng):將日常環(huán)境發(fā)布到預(yù)發(fā)環(huán)境登颓。勾選之后就是把日常環(huán)境的鏡像部署到預(yù)發(fā)環(huán)境搅荞,符合CD的定義,如果不勾選就會(huì)重新編譯再部署,就又是一次完整的CI + CD過程了取具。

file

應(yīng)用下線

下線操作很簡(jiǎn)單,只需要在對(duì)應(yīng)的應(yīng)用卡片中找到對(duì)應(yīng)環(huán)境的按鈕扁耐,如果是綠色狀態(tài)就是服務(wù)中暇检,只需要點(diǎn)擊一下,就可以開始執(zhí)行應(yīng)用的下線操作了婉称。

file

但是块仆,目前下線有時(shí)候會(huì)碰到比較慢的情況,比如我在卡片中點(diǎn)了下線王暗,卡片中狀態(tài)已經(jīng)變?yōu)镺ffline悔据,但是在開發(fā)部署頁(yè)面中中還無(wú)法重新部署,日志顯示還在卸載任務(wù)俗壹。

file

一些小建議

日志中的環(huán)境說(shuō)明與環(huán)境定義匹配不上科汗,建議有統(tǒng)一的描述與說(shuō)明

file

xml沒有高亮,編輯有點(diǎn)吃力

file

開始部署之后绷雏,沒有手工終止的操作头滔,如果操作失誤,就只能等著

file

本文首發(fā):居然僅用瀏覽器涎显,就完成了Spring Boot應(yīng)用的開發(fā)與部署坤检!,轉(zhuǎn)載請(qǐng)注明出處期吓。

總結(jié)

云開發(fā)平臺(tái)這個(gè)新產(chǎn)品使用下來(lái)雖然還是有一些感覺不舒服的地方早歇,但是總體使用體驗(yàn)還是能解決不少開發(fā)效率問題的,尤其對(duì)于我這樣的獨(dú)立開發(fā)者(協(xié)作內(nèi)容還弱一些讨勤,但是我不需要箭跳,哈哈)⌒螅基本上從開發(fā)衅码、測(cè)試、上線等我最常用的功能都能夠覆蓋脊岳,同時(shí)瀏覽器中的開發(fā)平臺(tái)是我比較喜歡的逝段,雖然目前來(lái)說(shuō)想較IDEA還是有很大的功能性差距,但是基礎(chǔ)功能已經(jīng)具備割捅,在開發(fā)流程上是沒有障礙的奶躯。但由于不需要配置運(yùn)行環(huán)境、安裝編輯器等優(yōu)點(diǎn)亿驾,開發(fā)工作就變得比較輕量化嘹黔。

另外還有一點(diǎn)小發(fā)現(xiàn),讓人有更多的聯(lián)想。在該平臺(tái)的菜單中點(diǎn)擊右上角的頭條儡蔓,點(diǎn)擊“賬號(hào)設(shè)置”郭蕉,居然跳到了團(tuán)隊(duì)協(xié)作軟件Teambition的阿里云版本:云效協(xié)作。所以喂江,之前讓我覺得協(xié)作功能還比較弱的感受召锈,可能在未來(lái)還會(huì)有更大的發(fā)揮空間。這兩者的結(jié)合获询,將來(lái)就可以從需求管理涨岁、研發(fā)管理、運(yùn)維管理等一路都打通吉嚣,但是具體會(huì)做成什么樣呢梢薪?期待這個(gè)平臺(tái)后續(xù)給我們展現(xiàn)他們的產(chǎn)品吧!

歡迎關(guān)注我的公眾號(hào):程序猿DD尝哆,獲得獨(dú)家整理的學(xué)習(xí)資源秉撇、日常干貨及福利贈(zèng)送。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秋泄,一起剝皮案震驚了整個(gè)濱河市畜疾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌印衔,老刑警劉巖啡捶,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異奸焙,居然都是意外死亡瞎暑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門与帆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)了赌,“玉大人,你說(shuō)我怎么就攤上這事玄糟∥鹚” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵阵翎,是天一觀的道長(zhǎng)逢并。 經(jīng)常有香客問我,道長(zhǎng)郭卫,這世上最難降的妖魔是什么砍聊? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮贰军,結(jié)果婚禮上玻蝌,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好俯树,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布帘腹。 她就那樣靜靜地躺著,像睡著了一般许饿。 火紅的嫁衣襯著肌膚如雪竹椒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天米辐,我揣著相機(jī)與錄音,去河邊找鬼书释。 笑死翘贮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爆惧。 我是一名探鬼主播狸页,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼扯再!你這毒婦竟也來(lái)了芍耘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤熄阻,失蹤者是張志新(化名)和其女友劉穎斋竞,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秃殉,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坝初,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钾军。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鳄袍。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖吏恭,靈堂內(nèi)的尸體忽然破棺而出拗小,到底是詐尸還是另有隱情,我是刑警寧澤樱哼,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布哀九,位于F島的核電站,受9級(jí)特大地震影響搅幅,放射性物質(zhì)發(fā)生泄漏勾栗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一盏筐、第九天 我趴在偏房一處隱蔽的房頂上張望围俘。 院中可真熱鬧,春花似錦、人聲如沸界牡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宿亡。三九已至常遂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挽荠,已是汗流浹背克胳。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留圈匆,地道東北人漠另。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓红且,卻偏偏與公主長(zhǎng)得像岩灭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子玄柏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355