006 jenkins + maven + springboot + git(分支) 項目

1.新建任務

    新建任務 --> 構建一個自由風格的軟件項目 --> HelloWorldjava

2.源碼管理

    這裏以git爲例,git

    Repository URL 代碼路徑: https://github.com/995586041/jenkins.git 這是我本身建的springboot測試項目,須要的能夠fork一份,而後填成本身的git路徑github

    Credentials 登陸GitHub的用戶名和密碼,點擊後面的 「add」 進行添加spring

    Branch Specifier 須要發佈的分支名shell

3.構建

    1.Execute shell : 在Jenkins所在機器進行代碼打包

echo $PATH
mvn clean package -DskipTests -U

    2.Send files or execute commands over SSH : 將Jenkins機器打包以後的代碼,發送到服務器,並執行相關啓動命令

      Remote directory  發送到遠程機器的那個目錄,若是不存在,會自動新建立該目錄springboot

      這裏的啓動端口我寫的是 9999,能夠隨意改bash

#!/bin/bash
cd HelloWorld
nohup java -jar **/*.jar --server.port=9999 & > helloword.log

 

4.保存並構建

    點擊構建後,若是沒報錯,下面的就不用看了,若是報錯 "mvn : command not found",難道是沒裝maven,打開shell,執行 mvn -v,我靠,這他孃的是好的啊,而後開始懷疑,一點是本身點的姿式不對,再點一次,我擦,仍是不行啊,而後開始上網查,網上一溜煙的說是權限問題,說什麼Jenkins發佈時使用的是本身建立的Jenkins用戶,不是root用戶,沒有執行命令的權限,感受說的有道理啊,趕忙去改了再發布一次,仍是不行,其實這個真的沒毛用。服務器

    我在上面的3.1寫了,echo $PATH,日誌輸出爲: /sbin:/usr/sbin/bin/usr/bin 說明Jenkins只去這幾個目錄下找mvn命令,若是你在 /etc/profile 裏配置了maven 可是卻沒有創建軟鏈接到上面輸出的這幾個文件夾下,那命令是絕對找不到的。由於過去mvn命令後,Jenkins也會用到java命令,因爲上述緣由,java命令一樣會報 "java : command not found",知道緣由以後,去解決這個問題就簡單了,我試過兩種方法:maven

    第一種:修改Jenkins環境變量測試

    系統管理 --> 系統設置 --> 全局屬性 --> 環境變量 --> 在Jenkins的PATH中添加java和maven

    鍵:PATH

    值:$PATH:/opt/jdk/bin:/opt/maven/bin

    第二種: 創建maven和java的軟鏈接

# /opt/jdk/bin/java 實際目錄
# /usr/bin/java 軟鏈接目錄
ln -s /opt/jdk/bin/java /usr/bin/java
ln -s /opt/maven/bin/mvn /usr/bin/mvn

    這樣Jenkins在加載 /sbin:/usr/sbin/bin/usr/bin 下命令時就能找到相關命令

5.再次保存而且構建

    若是你仍是成功的,那就跳過下面,若是連上遠程服務器,執行命令時遇到下面的錯:java command not found

    

    緣由跟上面的同樣 Jenkins 並無在 /sbin:/usr/sbin/bin/usr/bin 找到 java 命令 ,兩種解決辦法:

    1.java命令給全路徑

     java -jar xx.jar  改爲  /opt/jdk/bin/java -jar xx.jar

    2.創建軟鏈接

    這裏是在充當服務器的機器上創建軟鏈接

ln -s /opt/jdk/bin/java /usr/bin/java

   6.訪問

       http://114.67.xxx.xx:9999/hello

       個人項目是 9999 端口,而且只有一個測試接口 /hello

       構建成功後,由於遠程服務器上已經起來相關項目,端口已經被佔用,由於是測試沒作相關處理,若是再次構建,應該會端口衝突,請注意

相關文章
相關標籤/搜索