一款簡(jiǎn)易CI/DI插件 wagon-maven-plugin

image

好久沒(méi)寫文章了宦言,都忘了自己的初衷了,同志們還是要堅(jiān)持呀商模。奠旺。。今天就給大家介紹一款好玩的插件施流。
我們?cè)陧?xiàng)目開(kāi)發(fā)過(guò)程中响疚,經(jīng)常需要部署代碼到開(kāi)發(fā)環(huán)境,每天可能有好多次嫂沉,每次都需要mvn clean package/install稽寒,然后上傳到服務(wù)器,重啟容器趟章。為解決這些繁瑣的步驟,除了常用的Jenkins慎王、TeamCity蚓土、Travis CI等比較重型的CI/DI集成工具外,我們還可以用wagon-maven-plugin這個(gè)插件來(lái)完成赖淤。

下面我們?nèi)ス倬W(wǎng)看看蜀漆,這個(gè)插件是什么和能干什么?

Overview

Use this plugin to view and transfer resources between repositories using Maven Wagon.

Goals Overview

The Wagon Maven Plugin has the following goals.

  • wagon:upload-single uploads the specified file to a remote location.
  • wagon:upload uploads the specified set of files to a remote location.
  • wagon:download-single downloads the specified file from a remote location.
  • wagon:download downloads the specified set of files from a remote location.
  • wagon:list lists the content of a specified location in a remote repository.
  • wagon:copy copies a set of files under a Wagon repository to another.
  • wagon:merge-maven-repos merges , including metadata, a Maven repository to another.
  • wagon:sshexec Executes a set of commands at remote SSH host

簡(jiǎn)單概括咱旱,它能在存儲(chǔ)庫(kù)之間查看和傳輸資源确丢。這正是我們想要的(我們本地和服務(wù)器本質(zhì)就是兩個(gè)存儲(chǔ)庫(kù))。其中wagon:upload-single吐限、wagon:sshexec這兩個(gè)goal鲜侥,是我們常用的,下面我們進(jìn)行項(xiàng)目實(shí)戰(zhàn)诸典。

首先添加Maven Wagon SSH

這個(gè)東東可以為Wagon插件描函,提供SCP和SFTP的能力。這樣我們就可以發(fā)布和部署程序到服務(wù)器上。

<extensions>
    <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh</artifactId>
        <version>2.8</version>
    </extension>
</extensions>

配置插件舀寓,綁定package周期

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>wagon-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
        <execution>
            <id>upload-deploy</id>
            <!-- 運(yùn)行package打包的同時(shí)運(yùn)行upload-single和sshexec -->
            <phase>package</phase>
            <goals>
                <goal>upload-single</goal>
                <goal>sshexec</goal>
            </goals>
            <configuration>
        <!-- 需要上傳的本地jar包 -->
                <fromFile>target/oceanviewAdmin-1.0-SNAPSHOT.jar</fromFile>
        <!-- 遠(yuǎn)程服務(wù)器的目錄胆数,必須真實(shí)存在 -->
                <url>scp://user:password@url/opt</url>
        <!-- sshexec 在服務(wù)器上需要執(zhí)行的命令行 -->
                <commands>
                    <!-- 殺死原來(lái)的進(jìn)程 -->
                    <command>pkill -f test.jar</command>
                    <!-- 重新啟動(dòng)test.jar,程序的輸出結(jié)果寫到nohup.out文件中 -->
                    <command>nohup java -jar /opt/test.jar >/opt/test.out 2>&1 &</command>
                </commands>
                <!-- 顯示運(yùn)行命令的輸出結(jié)果 -->
                <displayCommandOutputs>true</displayCommandOutputs>
            </configuration>
        </execution>
    </executions>
</plugin>

還有其他一些參數(shù)互墓,比如project必尼、settings、skip等因?yàn)椴怀S么勰欤覀兙筒辉谝灰慌e例胰伍。

運(yùn)行 mvn package

運(yùn)行完后,我們發(fā)現(xiàn)我們本地的程序已經(jīng)自動(dòng)部署到服務(wù)器上了酸休。

完畢骂租!歡迎小伙伴們,在評(píng)論區(qū)一起交流.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斑司,一起剝皮案震驚了整個(gè)濱河市渗饮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宿刮,老刑警劉巖互站,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異僵缺,居然都是意外死亡胡桃,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門磕潮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)翠胰,“玉大人,你說(shuō)我怎么就攤上這事自脯≈埃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵膏潮,是天一觀的道長(zhǎng)锻狗。 經(jīng)常有香客問(wèn)我,道長(zhǎng)焕参,這世上最難降的妖魔是什么轻纪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮叠纷,結(jié)果婚禮上刻帚,老公的妹妹穿的比我還像新娘。我一直安慰自己讲岁,他們只是感情好我擂,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布衬以。 她就那樣靜靜地躺著,像睡著了一般校摩。 火紅的嫁衣襯著肌膚如雪看峻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,584評(píng)論 1 312
  • 那天衙吩,我揣著相機(jī)與錄音互妓,去河邊找鬼。 笑死坤塞,一個(gè)胖子當(dāng)著我的面吹牛冯勉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播摹芙,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼灼狰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了浮禾?” 一聲冷哼從身側(cè)響起交胚,我...
    開(kāi)封第一講書(shū)人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盈电,沒(méi)想到半個(gè)月后蝴簇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匆帚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年熬词,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吸重。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡互拾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晤锹,到底是詐尸還是另有隱情摩幔,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布鞭铆,位于F島的核電站,受9級(jí)特大地震影響焦影,放射性物質(zhì)發(fā)生泄漏车遂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一斯辰、第九天 我趴在偏房一處隱蔽的房頂上張望舶担。 院中可真熱鬧,春花似錦彬呻、人聲如沸衣陶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)剪况。三九已至教沾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間译断,已是汗流浹背授翻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孙咪,地道東北人堪唐。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像翎蹈,于是被迫代替她去往敵國(guó)和親淮菠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361