Jenkins內網搭建並自動化部署maven項目

序言

     先聲明一下,因爲當時部署的時候是在公司內網環境下,所以無法截取圖片,這個地方就儘量使用文字描述的詳細一些,如果有需要圖片講解的話,可以給我評論,我在本地機器上重新搭建以下就行了。

安裝jenkins

    jenkins官網提供了多種版本的下載和使用,我是採用的jenkins的war+tomcat部署的,比較簡單,此處只提供jenkins官網地址以及Tomcat地址。有需要自行下載。

     運行tomcat的時候,war包解壓,別忘了記得將war給刪除掉,因爲每次重啓tomcat都會將war重新執行。另外注意的是在啓動tomcat的中斷中可以看到日誌,有你的jenkins密碼,密碼最好記下來,但是忘了也沒關係,隨後的一行有一個地址,裏面就是密碼。

安裝環境

     首先需要說明的是jenkins提供的組件並非是運行在centos服務上的,而是jenkins本身需要的。所以此處分爲兩部分,一部分是項目打包需要運行的軟件環境,另外一部分是jenkins的組件。

(1)jenkins組件

外網裝組件的話可能比較方便,但是內網裝組件的話就相對比較麻煩了,內網裝插件兩種方式:

方式一、上網機下載上傳到內網環境

    進入jenkins服務界面,點擊左側菜單“系統管理” -> 插件管理

    在該主界面有四個可以切換的四個小菜單分別爲:可更新、可選插件、已安裝、高級。這四個菜單看字面意思就知道是幹什麼的,沒錯,點擊高級就可以上傳你準備好的插件包,耐心等待即可,上傳成功之後點擊已安裝這個小菜單就可以看到你上傳的插件了。這種方式可能更加適合於老手了,畢竟對於我們這種新手來說,並不知道有什麼插件,是我們需要的,總不能因爲某個插件未安裝就一直導致部署不成功吧。所以個人更推薦使用下面這種,在安裝好進來,jenkins會推薦給我們,讓我們下載一些插件,毫無疑問下載就行了。

方式二、網絡管理員給你機器賦予網絡訪問代理的權限。

   在第一次訪問jenkins界面的會讓你選擇是否使用代理,這個時候就可以將準備好的代理服務器的ip和端口號,有帳號密碼的話,可以填寫帳號密碼,填寫完成後下載推薦的插件。

 

(2)centos準備打包環境

需要安裝maven項目打包使用的環境:jdk8、maven、git

 jenkins主界面-> 系統管理 -> 全局工具配置 

    如果jenkins的這三個組件已經下載好了,此頁面應該會顯示讓你配置機器上面jdk、maven、git安裝地址,注意在填寫的時候將上面推薦自動下載的對鉤給去掉。

 注意只有下載了jenkins插件,纔可以配置機器上面的環境地址。

 

配置SSH

     下載ssh插件:Publish over SSH

       jenkins主界面-> 系統管理 -> 系統配置 -> 找到SSH,毫無疑問此處配置的是你的目的機器的地址、帳號密碼、操作目錄。

這裏只是配置,其作用想想也知道就是打包完成之後將文件上傳到該路徑下面的某個位置。下面會提到怎麼使用這個了。

 

值得一說的是,到此步驟,基本上環境已經準備好了,我就按照網上的去操作,到主界面點擊新建任務,....爲什麼沒有“構建一個maven項目”的選項,然後就百度,現在我就想是不是我的版本太高了,或許吧,最終我試着下載一個maven插件,重啓了以下jenkins就可以了,所以遇到這種情況彆着急卸載換版本。

 

創建任務

     就是點擊新建任務,選擇構建一個maven項目。先說一下,裏面都需要配一些什麼東西:

    1、git代碼地址,帳號、密碼、分支

    2、觸發器

               所謂觸發器就是什麼時刻去執行這個任務,可以選擇定時或者其他方式。

     3、構建環境

              此處不需要選擇,因爲我們本身選擇的就是構建一個vue項目,那這個地方什麼時候用到呢?可以查看我的另外一篇文章:部署vue的話可以在此選擇nodejs環境。

      4、構建

             maven項目的話,此處就不用管了。部署vue可以在此選擇設置倉庫地址或者執行一些其他的命令。

     5、構建後操作

             配置將打好的包部署到指定機器(上面ssh指定機器)上面的一些屬性:

             source files: 表示你要上傳的文件路徑(打包好的文件)

             remove prefix:目錄修正,其只能夠是source files目錄中的路徑   

                       最終文件的路徑爲:remove directory + source files - remove prefix

              remove directory: 遠程目錄,是相對路徑,相對於ssh中指定的路徑。

               exec command:文件上傳之後想要執行的命令,不填寫也行,紅色警告可以忽視,指定腳本的話,腳本要使用絕對路徑。需要注意的是文件中可能有些命令不太好使,需要加載環境變量,例如:

               source /etc/profile

               cd /home/srcipt

               sh test.sh

 

    source files必須是一個文件,而不是一個目錄,我們的項目中pom文件中配置了將所有的文件打包成tar包

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章