Jenkins實現自動化部署


Jenkins是一個開源軟件項目,是基於Java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟件平台,使軟件的持續集成變成可能。

通過Jenkins實現自動化部署項目,本地git提交代碼Jenkins自動化將項目部署在Linux服務器

Jenkins自動化部署實現原理

 

1、環境准備

Linux需要安裝JAVA,GIT,MAVEN.如果是war部署還需要TOMCAT

[root@zxone demo]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
[root@zxone demo]# git --version
git version 2.28.0

  [root@zxone ~]# mvn -v
  Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
  Maven home: /home/zhangsha/apache-maven-3.6.3
  Java version: 1.8.0_261, vendor: Oracle Corporation, runtime: /usr/java/jdk1.8.0_261-amd64/jre
  Default locale: en_US, platform encoding: UTF-8
  OS name: "linux", version: "3.10.0-1127.18.2.el7.x86_64", arch: "amd64", family: "unix"

 2、安裝Jenkins

    2.1).下載安裝包jenkins.war

  2.2).在安裝包根路徑下,運行命令 java -jar jenkins.war --httpPort=8080,(linux環境、Windows環境都一樣);

  2.3).打開瀏覽器進入鏈接 http://localhost:8080.

  2.4).填寫初始密碼,激活系統

 

 

 2.5).這里建議選擇,推薦安裝的插件,保證基本常用的功能可以使用。

注意:可能各種原因,插件安裝失敗,則跳過也可以,再登錄到Jenkins之后可以對插件進行自定義選擇性安裝。

插件安裝界面

 

 

 2.6).設置初始用戶和密碼

 

2.7).登錄賬號密碼之后,進入系統,安裝完成。(如果錄入賬號密碼登錄遇到空白頁,重啟jenkins服務在嘗試重新登錄)

 

 3、Jenkins基本配置

 3.1).插件配置(系統管理-插件管理)

在插件管理頁面可以對插件進行安裝、卸載、更新。(各個插件的版本和Jenkins版本有時候會有兼容性問題,可以進行更新或者降級)

需要安裝的插件:

•遠程連接服務插件(必須):Publish Over SSH

•發布插件必須:Deploy to container Plugin

•Maven插件必須: Maven Integration plugin

•git插件: Git plugin(git和svn根據自身需求)

•svn插件 :Subversion Plug-in (git和svn根據自身需求)

 

 3.2).全局工具配置(系統管理-全局工具配置)

 3.2.1-Maven配置

 

  3.2.2-JDK和GIT配置

 

   3.2.3-Maven配置

 

  3.3).系統配置(系統管理-系統配置)

3.3.1-Jenkins主目錄(一般不用修改)

 

 

 3.3.2-Publish over SSH插件配置

 

 

 

3、Jenkins構建任務

上述基本配置完成之后就可以開始構建任務。

3.1首頁-新建任務

錄入任務名稱,選擇“構建一個自由風格的軟件項目”。

 

創建完成出現任務列表

 

 

 

 

 

 

 點擊名稱,進入任務工程的操作界面,可以對任務進行配置、刪除、構建操作。

 

 

 3.2任務-配置(重點)

3.2.1-General 可以勾選“丟棄舊的構建”根據自身需求填寫即可。

 

 

 3.2.2-源碼管理

Repository URL:gitlub或者gitee的代碼的git地址

Credentials:憑證(第一次需要添加賬號密碼)

 

  3.2.3-構建觸發器

觸發器可以不勾選,每次手動進行構建即可。

  3.2.4-構建環境

執行的sheel腳本start.sh參考如下:

如果jenkins執行shell腳本出現權限問題,修改jenkins的配置的用戶為root用戶。

#!/bin/bash
echo "Stop Procedure : demo-0.0.1-SNAPSHOT.jar"
APP_PATH=/home/www/jenkins-auto/demo
pid=`ps -ef |grep java|grep demo-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
echo 'old Procedure pid:'$pid
if [ -n "$pid" ]
then
kill -9 $pid
echo "kill end---"
fi
echo 'Start the program : demo-0.0.1-SNAPSHOT.jar'
echo '-------Starting-------'
export BUILD_ID=dontKillMe            #注釋:防止:Jenkins啟動項目之后,之后殺死進程 配合 sleep 10s  使用
nohup java -jar $APP_PATH/demo-0.0.1-SNAPSHOT.jar > $APP_PATH/admin.log & 2>&1 &   #注釋:admin.log 項目啟動日志
sleep 10s echo 'start success'

 

 3.2.5-構建

 

 

 3.3操作立即構建

配置完成之后,點擊立即構建

 

  3.4構建完成

根據配置將代碼下載到:/var/lib/jenkins/workspace/demo

根據配置將jar移動到:/home/www/jenkins-auto/demo

 

 

 

 

 

 

以上即實現了Jenkins自動化部署的流程,通過git移交代碼之后,手動點擊 “立即構建”即可將最新代碼部署到服務器上。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM