波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

CI/CD持續部署持續集成Jenkins介紹

 

在當今互聯網行業乃至一些大廠,大部分公司都采用敏捷項目管理模式來管理項目,在敏捷十二條宣言中有一條是這樣說:“我們的最高目標是,通過盡早和持續地交付有價值的軟件來滿足客戶”,通過這一條我們可以看出,項目的持續集成和持續部署發布對客戶來說是非常重要的。

通過網絡搜索和查閱相關資料,能夠完成CI/CD持續集成持續部署的工具有很多種,最常用的一般是赫赫有名的Jenkins。Jenkins是采用JAVA語言編寫支持許多插件,除過基本的功能外其他的擴展功能都可以通過插件的形式來完成,包括集成現在比較火的Docker,Kubernetes,AWS等。

在實際的項目開發過程中,Jenkins的典型工作流如下圖:

CI/CD持續部署持續集成Jenkins介紹

 

通過這張圖我們可以簡單的理解在整個CI/CD的工作流中,數據的流轉是:

  1. DBA,Developer,Operations,Tester將代碼提交到版本管理工具中,例如:GIT,SVN等;
  2. CI服務器會手動觸發或者定時觸發去版本管理工具中拉取代碼進行編譯,打包操作,在這個過程中還可以完成對代碼的質量檢查,單元測試等;
  3. CI服務器將打包后的二進制文件部署到目標服務器(環境)中,根據CI服務器的配置,如果配置了多個環境,可以將打包后的文件部署到SIT,UAT或者PROD等;

下面我們就通過一個簡單的案例來看看Jenkins是如何實現CI/CD持續集成持續部署功能的,具體的環境如下:

  • linux centos 7
  • Jenkins latest
  • Sonar latest

步驟一:通過官網下載Jenkins最新安裝包

我們找到Jenkins的官網:https://jenkins.io/zh/

CI/CD持續部署持續集成Jenkins介紹

 

通過上圖我們可以看到Jenkins支持許多操作系統和環境部署,而且我們還可以通過官網下載到Jenkins的源代碼,在這里我們下載最新的二進制文件war包,它可以部署到Tomcat也可以通過命令行的方式啟動,我們采用第二種方式命令行的方式部署Jenkins。

步驟二:編寫Jenkins啟動腳本start_jenkins.sh

#!/bin/bash
?
# Author:xiaobaoqiang
?
JENKINS_LOG=/tmp/jenkins.log
JENKINS_JAR=/root/jenkins.war
PID_FILE=/run/jenkins.pid
?
# start function
function start(){
 # pring message
 echo "Checking jenkins ..."
 # check Jenkins is running or not
 PID=`ps auwx | grep ${JENKINS_JAR} | grep -v grep | awk '{print $2}'`
 if [ $PID ]; then
 echo "Jenkins is Running at PID:$PID, Don't start again."
 exit 0
 else
 echo "Jenkins is not running, will be started."
 fi
?
 # pring message
 echo "Jenkins starting ..."
?
 # start jenkins
 nohup java -jar ${JENKINS_JAR} > ${JENKINS_LOG} 2>&1 &
?
 # start jenkins status
 status=$?
?
 if [[ $status != 0 ]]; then
 echo "Failed to start jenkins, return code: $status. Please check ${JENKINS_LOG} for more information."
 exit $status;
 fi
?
 # sleep
 sleep 2s
?
 # PID
 PID=`ps auwx | grep ${JENKINS_JAR} | grep -v grep | awk '{print $2}'`
?
 if [ ! $PID ]; then
 echo "Start jenkins Failed. Please check ${JENKINS_LOG} for more information."
 else
 echo $PID > ${PID_FILE}
 echo "Jenkins is started at PID:$PID"
 fi
}
?
# stop function
function stop(){
 # pring message
 echo "Jenkins stopping ..."
 # PID
 PID=`ps auwx | grep ${JENKINS_JAR} | grep -v grep | awk '{print $2}'`
?
 if [ ! $PID ]; then
 echo "Jenkins is not running. Please check jenkins is running or not."
 else
 kill -9 $PID
 rm -f ${PID_FILE}
 echo "Jenkins is stopped."
 fi
}
?
# restart function
function restart(){
 stop
 start
}
?
# status function
function status(){
 # pring message
 echo "Checking jenkins ..."
 # PID
 PID=`ps auwx | grep ${JENKINS_JAR} | grep -v grep | awk '{print $2}'`
?
 if [ ! $PID ]; then
 echo "Jenkins is not running. Please check jenkins is running or not."
 else
 echo "Jenkins is started at PID:$PID"
 fi
}
?
case "$1" in
 start )
 echo "************************************************"
 start
 echo "************************************************"
 ;;
 stop )
 echo "************************************************"
 stop
 echo "************************************************"
 ;;
 restart )
 echo "************************************************"
 restart
 echo "************************************************"
 ;;
 status )
 echo "************************************************"
 status
 echo "************************************************"
 ;;
 * )
 echo "************************************************"
 echo "Usage: start_jenkins.sh ( commands ... )"
 echo "commands:"
 echo " start start jenkins"
 echo " stop stop jenkins"
 echo " restart restart jenkins"
 echo " status status jenkins"
 echo "************************************************"
 ;;
esac
exit 0

上面的Jenkins啟動腳本包括了Jenkins的啟動,停止和重啟功能。

我們也可以通過下面一條簡單的命令來啟動Jenkins:

java -jar jenkins.war

通過這種簡單的方式當我們按Ctrl+C或者關閉命令行的時候,Jenkins就會被停止掉。

步驟三:啟動Jenins服務

通過上一步驟我們編寫的啟動腳本啟動Jenkins

[root@dev01 ~]# ./start_jenkins.sh start
************************************************
Checking jenkins ...
Jenkins is not running, will be started.
Jenkins starting ...
Jenkins is started at PID:20755
************************************************

查看下Jenkins的啟動日志:

十月 27, 2019 11:08:03 上午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@43a00e48: display name [Root WebApplicationContext]; startup date [Sun Oct 27 11:08:03 CST 2019]; root of context hierarchy
十月 27, 2019 11:08:03 上午 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@43a00e48]: org.springframework.beans.factory.support.DefaultListableBeanFactory@6de44024
十月 27, 2019 11:08:03 上午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6de44024: defining beans [filter,legacy]; root of factory hierarchy
十月 27, 2019 11:08:03 上午 jenkins.InitReactorRunner$1 onAttained
信息: Completed initialization
十月 27, 2019 11:08:03 上午 hudson.WebAppMain$3 run
信息: Jenkins is fully up and running

通過日志信息可以看到Jenkins已經完全啟動了。

步驟四:登陸Jenkins

我們以管理員root的身份登陸Jenkins,打開
http://localhost:8080/pluginManager/ 可以查看和安裝我們需要的插件,對Java語言來說最常用的應該是Maven插件了

CI/CD持續部署持續集成Jenkins介紹

 

可以看到,通過上面簡單的步驟一個Jenkins服務我們已經部署成功了,然后我們就可以利用我們的Jenkins服務來部署和發布我們的項目了,達到持續部署持續集成的目的。

參考:

https://jenkins.io/zh/doc/book/installing/

文章如有不妥之處,歡迎指正!謝謝!

分享到:
標簽:Jenkins
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定