亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Jenkins 自動化部署上線

發布時間:2020-04-05 19:53:23 來源:網絡 閱讀:976 作者:我不是九爺 欄目:云計算

Jenkins 自動化部署上線

摘要

jenkins自動化部署項目,通過jenkins 部署來節省運維時間,不需要手動cp上線及版本發布

Jenkins 自動化部署上線

Jenkins 自動化部署上線

Jenkins


  • Jenkins 自動化部署上線

    • (1) Java 環境演示 [Jenkins和Tomcat在一臺服務器上]

    • (2) Java 環境演示 [Jenkins和Tomcat不在一臺服務器上]

    • (3) Java 環境演示 [上線腳本]

    • (4) NodeJs 環境演示 [上線腳本]

    • 一、Jenkins是什么

    • 二、上線流程圖

    • 三、Jenkins安裝配置

    • 四、Jenkins 自動化部署項目案例


一、Jenkins是什么

Jenkins是一款自包含的開源自動化服務,可用于自動執行與構建,測試和交付或部署軟件有關的各種任務。
Jenkins目前可以通過本地系統軟件包Docker進行安裝,甚至可以通過任何安裝了Java運行環境的計算機獨立運行

二、上線流程圖

既然我們說到自動化上線,我們就不得不說說一個項目上線的流程.只有規范起來才可以做到不出事故!

上線流程圖如下圖所示
Jenkins 自動化部署上線

三、Jenkins安裝配置

Jenkins依賴Java環境,我們需要安裝Java環境以及相關的環境準備

  1. ###關閉防火墻

  2. $ iptables -F

  3. $ iptables -X

  4. $ systemctl stop firewalld

  5. $ systemctl disable firewalld


  6. ###安裝yum源

  7. $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

  8. $ wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

  9. $ yum clean all && yum makecache  

1.下載Jdk包
Jenkins 自動化部署上線
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

上傳jdk包到服務器

  1. ###解壓拷貝jdk

  2. $ tar xf jdk-8u171-linux-x64.tar.gz -C /usr/local/

  3. $ ln -s /usr/local/jdk1.8.0_171/ /usr/local/jdk

  4. $ ln -s /usr/local/jdk/bin/java /usr/bin/java


  5. ###設置環境變量

  6. $ vim /etc/profile

  7. export JAVA_HOME=/usr/local/jdk

  8. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  9. export PATH=$JAVA_HOME/bin:$PATH


  10. $ source  /etc/profile

2.安裝Jenkins

  1. $ wget  -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo

  2. $ rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

  3. $ yum install jenkins -y


  4. $ systemctl start jenkins

  5. ##如果我們啟動Jenkins出現錯誤可以直接使用systemctl status jenkins查看錯誤

jenkins相關目錄釋義:

(1)/usr/lib/jenkins/:jenkins安裝目錄,war包會放在這里。
(2)/etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在這里配置。
(3)/var/lib/jenkins/:默認的JENKINS_HOME。
(4)/var/log/jenkins/jenkins.log:jenkins日志文件。

檢查端口是否存在
Jenkins 自動化部署上線

3.配置Jenkins
Jenkins 自動化部署上線

Jenkins有安全策略,我們按照提示拷貝驗證碼即可
Jenkins 自動化部署上線

將驗證碼復制到Web框里
Jenkins 自動化部署上線

我們這里使用推薦就可以了,因為后期我們都可以在安裝
Jenkins 自動化部署上線

安裝插件中,有的插件會因為網絡問題無法安裝成功

Jenkins 自動化部署上線

我們這里可以創建一個管理員,或者直接使用admin

我們最好不要直接使用admin

Jenkins 自動化部署上線

Jenkins 自動化部署上線

安裝完成訪問地址:iP:8080
Jenkins 自動化部署上線

到這里我們Jenkins已經安裝成功,剩下的就是配置插件和配置環境

Jenkins 自動化部署上線

因為我們目前什么都沒有需要安裝插件,點擊下步安裝插件
Jenkins 自動化部署上線

為了模擬環境我們需要安裝Jenkins一些相關插件
 下面2個maven 插件都需要勾選  
 插件名稱:maven lntergration

Jenkins 自動化部署上線

我們勾選安裝重啟
Jenkins 自動化部署上線
Jenkins 自動化部署上線

安裝完成后如下圖所示
默認是沒有下面的maven項目的
Jenkins 自動化部署上線

4.Jenkins配置項目

配置SVN地址
因為我是新建的Jenkins目錄,沒有權限,所以需要創建一個用于認證.
Jenkins 自動化部署上線

填寫SVN地址,因為我這里的svn已經鏈接到ldap,所以不需要輸入svn的密碼,默認這里是svn的用戶和密碼

具體文章可以參考 VisualSVN 遷移至Linux SVN+Apache+ssl集成LDAP

Jenkins 自動化部署上線

認證成功之后
Jenkins 自動化部署上線

了解maven 配置
首先我們的svn分支下面需要有pom.xml
Jenkins 自動化部署上線

繼續往下




因為我們只安裝maven的插件,并沒有安裝maven服務,所以這里需要我們配置
Jenkins 自動化部署上線

我們就在這里添加一個名字,maven就自動安裝了
Jenkins 自動化部署上線

Maven安裝完成了,需要依賴吧都是從maven.apache.org下載會比較慢,所以我們指定私服的地址,因為在實際生產中也都是使用私服的。

在maven的配置文件里面也需要配置  配置文件conf/settings.xml 因為我們所使用的是Jenkins的自動安裝,而不是指定路徑所以我們要查到這個配置文件

maven 自動安裝的配置路徑
Jenkins 自動化部署上線

配置Maven倉庫地址

這里配置的都是私服地址
相關文章  Jenkins+Maven+SVN+Nexus 搭建持續集成環境

Jenkins 自動化部署上線
配置Maven 鏡像地址
Jenkins 自動化部署上線

配置Maven 編譯參數   [研發都會]

相關文章:maven 編譯命令
Jenkins 自動化部署上線

這個pom.xml里面配置是私服的地址
因為代碼里面有很多東西是需要拉去依賴包,這些依賴包就存放在本地的私有倉庫里(Nexus)

代碼中pom.xml配置如下
私有倉庫的地址
Jenkins 自動化部署上線

5.構建測試
Jenkins 自動化部署上線

控制臺輸出說明

Jenkins 自動化部署上線

Jenkins 自動化部署上線

Jenkins 自動化部署上線

6.Jenkins 工程目錄

Jenkins 自動化部署上線

可以通過修改Jenkins主目錄

Jenkins 自動化部署上線

Jenkins打包好后的目錄,這個war包就是我們需要拷貝的tomcat下面的
Jenkins 自動化部署上線




四、Jenkins 自動化部署項目案例

因為目前環境原因,我這里只是截圖Jenkins發布的流程(本次演示只是針對測試環境日常發布版本)

(1) Java 環境演示 [Jenkins和Tomcat在一臺服務器上]

1.Jenkins 配置
Jenkins 自動化部署上線

SVN部分配置
Jenkins 自動化部署上線

maven及腳本設置
Jenkins 自動化部署上線

2.不發腳本配置如下:
相關參考:Jenkins可用環境變量列表
腳本的存放路徑可以在系統管理->全局配置->Jenkins路徑

  1. Last login: Thu Jun 28 18:01:59 2018 from 172.16.29.39

  2. [root@tomcat ~]# cat /jenkins/deploy.sh

  3. #!/bin/bash


  4. #

  5. # Jenkins工程構建通用TOMCAT部署腳本

  6. # @author abcdocker

  7. # @create_time 2017-08-19

  8. #

  9. # 在Jenkins內配置部署單元參數

  10. #      參數格式:MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH  MAVEN模塊名稱:需要部署的目標TOMCAT絕對路徑

  11. #      只有單個部署單元且沒有Maven子模塊時,模塊名稱參數可以沒有,參數格式為:TOMCAT_ABSOLUTE_PATH

  12. #

  13. # 注意:

  14. #      在本部署腳本內會執行TOMCAT啟動腳本,為避免Jenkins在構建成功以后殺掉所有衍生的后臺進程,需要在Jenkins內配置全局環境變量 BUILD_ID 值為 allow_to_run_as_daemon

  15. #

  16. #


  17. DEPLOY_TARGET_TOMCAT=$TOMCAT


  18. #校驗部署參數,不能為空

  19. if [ -z "$DEPLOY_TARGET_TOMCAT" ]

  20. then

  21.    echo

  22.    echo 部署參數為空,部署失敗!

  23.    echo "#####################################################################"

  24.    echo

  25.    echo 單個部署單元參數格式:

  26.    echo          MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH MAVEN模塊名稱:需要部署的目標TOMCAT絕對路徑

  27.    echo

  28.    echo 多個部署單元參數格式:(多個部署單元使用空格分割)

  29.    echo          MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH

  30.    echo

  31.    echo "#####################################################################"

  32.    exit 1

  33. fi


  34. echo

  35. echo 部署參數:${DEPLOY_TARGET_TOMCAT}


  36. TOMCAT_ARR=${DEPLOY_TARGET_TOMCAT//;/ }

  37. ARR=($TOMCAT_ARR)

  38. ARR_LEN=${#ARR[*]}

  39. echo ${ARR_LEN} 個部署單元


  40. i=1

  41. #獲取Jenkins傳入的目標TOMCAT組

  42. for T in $TOMCAT_ARR

  43. do

  44.    echo

  45.    echo 開始 處理第 ${i} 個部署單元

  46.    echo 第一個部署單元:$T


  47.    #獲取目標TOMCAT的WAR路徑和TOMCATA的絕對路徑

  48.    TOMCAT_PARAM=(${T//:/ })

  49.    MODULE_NAME=${TOMCAT_PARAM[0]}

  50.    TARGET_TOMCAT_PATH=${TOMCAT_PARAM[1]}

  51.    WAR_PATH="$WORKSPACE/$MODULE_NAME/target/*.war"


  52.    echo 部署單元模塊名稱:"${MODULE_NAME}"

  53.    echo 部署WAR包路徑:"${WAR_PATH}"

  54.    echo 部署TOMCAT路徑:"${TARGET_TOMCAT_PATH}"


  55.    #需要考慮MAVEN單模塊下的部署問題

  56.    #if [ "${#ARR[*]}" -eq 1 -a -z "$TARGET_TOMCAT_PATH" ]

  57.    if [ "$ARR_LEN" -eq 1 -a -z "$TARGET_TOMCAT_PATH" ]

  58.    then

  59.        #MAVEN過程沒有子模塊,單個部署單元

  60.        TARGET_TOMCAT_PATH=$MODULE_NAME

  61.    MODULE_NAME="NULL"

  62.    fi


  63.    #校驗參數,WORKSPACE變量來自于Jenkins環境變量

  64.    if [ -z "$MODULE_NAME" -o ! -f $WAR_PATH ]

  65.    then

  66.        echo 錯誤:MAVEN部署模塊名稱 參數為空 找不到WAR包!

  67.        echo 部署失敗!

  68.        exit 1

  69.    fi


  70.    if [ -z "$TARGET_TOMCAT_PATH" -o ! -d "$TARGET_TOMCAT_PATH" ]

  71.    then

  72.        echo 錯誤:目標TOMCAT絕對路徑 參數為空 TOMCAT目錄不存在!

  73.        echo 部署失敗!

  74.        exit 1

  75.    fi


  76.    echo 開始清理目標TOMCAT啟動進程...

  77.    TOMCAT_PID=`ps -ef |grep "$TARGET_TOMCAT_PATH" |grep  "start" |awk '{print $2}'`

  78.    if [ -n "$TOMCAT_PID" ]

  79.    then

  80.        echo TOMCAT_${i},PID${TOMCAT_PID},正在結束該進程...

  81.        kill -9 $TOMCAT_PID && echo PID${TOMCAT_PID} 已被干掉!

  82.    else

  83.        echo TOMCAT_${i} 進程未啟動!

  84.    fi


  85.    echo 開始清理目標TOMCAT緩存...

  86.    rm -rf $TARGET_TOMCAT_PATH/webapps/*

  87.    rm -rf $TARGET_TOMCAT_PATH/logs/*

  88.    rm -rf $TARGET_TOMCAT_PATH/work/*


  89.    echo 開始部署WAR包...

  90.    cp -a $WAR_PATH $TARGET_TOMCAT_PATH/webapps/ROOT.war && echo WAR包部署完畢。


  91.    echo 開始啟動目標TOMCAT服務...

  92.    sleep 10

  93.    /bin/bash $TARGET_TOMCAT_PATH/bin/startup.sh


  94.    echo 開始配置web目錄的FTP權限...

  95.    #啟動過程會自動解壓WAR包,所以在這里需要等待WAR包解壓完成再調整目錄權限

  96.    sleep 30

  97.    chown -R vftpuser.vftpuser ${TARGET_TOMCAT_PATH}/webapps/ && echo 目錄權限配置完畢。


  98.    echo 部署成功

  99.    echo 完成 第 ${i} 個部署單元處理。

  100.    echo


  101.    ((i++))

  102. done

3.構建效果如下圖所示:
Jenkins 自動化部署上線




(2) Java 環境演示 [Jenkins和Tomcat不在一臺服務器上]

上面的腳本是針對Jenkins和Tomcat都在相同的目錄,有的時候我們測試環境會存在不在一臺服務器的情況,腳本如下

  1. 只是腳本簡單的修改

  2. [root@tomcat ~]# cat /jenkins/ysc.sh

  3. #!/bin/bash


  4. #

  5. # Jenkins工程構建通用TOMCAT部署腳本

  6. # @author 劉曙

  7. # @create_time 2017-08-19

  8. #

  9. # 在Jenkins內配置部署單元參數

  10. #      參數格式:MAVEN_MODULE_NAME:TOMCAT_ABSOLUTE_PATH  MAVEN模塊名稱:需要部署的目標TOMCAT絕對路徑

  11. #      只有單個部署單元且沒有Maven子模塊時,模塊名稱參數可以沒有,參數格式為:TOMCAT_ABSOLUTE_PATH

  12. #

  13. # 注意:

  14. #      在本部署腳本內會執行TOMCAT啟動腳本,為避免Jenkins在構建成功以后殺掉所有衍生的后臺進程,需要在Jenkins內配置全局環境變量 BUILD_ID 值為 allow_to_run_as_daemon

  15. #

  16. #


  17. DEPLOY_TARGET_TOMCAT=$YSC

  18. HOST=root@172.16.1.35

  19. #校驗部署參數,不能為空

  20. if [ -z "$DEPLOY_TARGET_TOMCAT" ]

  21. then

  22.    echo

  23.    echo 部署參數為空,部署失敗!

  24.    echo "#####################################################################"

  25.    exit 1

  26. fi


  27. echo

  28. echo 部署參數:${DEPLOY_TARGET_TOMCAT}


  29. TOMCAT_ARR=${DEPLOY_TARGET_TOMCAT//;/ }

  30. ARR=($TOMCAT_ARR)

  31. ARR_LEN=${#ARR[*]}

  32. echo ${ARR_LEN} 個部署單元


  33. i=1

  34. #獲取Jenkins傳入的目標TOMCAT組

  35. for T in $TOMCAT_ARR

  36. do

  37.    echo

  38.    echo 開始 處理第 ${i} 個部署單元

  39.    echo 第一個部署單元:$T


  40.    #獲取目標TOMCAT的WAR路徑和TOMCATA的絕對路徑

  41.    TOMCAT_PARAM=(${T//:/ })

  42.    MODULE_NAME=${TOMCAT_PARAM[0]}

  43.    TARGET_TOMCAT_PATH=${TOMCAT_PARAM[1]}

  44.    #WAR_PATH="/jenkins/workspace/ysc-all/${MODULE_NAME}/target/*.war"

  45.    WAR_PATH="${WORKSPACE}/${MODULE_NAME}/target/*.war"


  46.    echo 部署單元模塊名稱:"${MODULE_NAME}"

  47.    echo 部署WAR包路徑:"${WAR_PATH}"

  48.    echo 部署TOMCAT路徑:"${TARGET_TOMCAT_PATH}"



  49.    #判斷IP是否有相關目錄

  50.    ssh 172.16.1.35 "[ -d $TARGET_TOMCAT_PATH ]" >/dev/null 2>&1

  51.    if [ $? != 0 ];then

  52.       echo 錯誤

  53.    else

  54.       echo  正確

  55.    fi



  56.    #校驗參數,WORKSPACE變量來自于Jenkins環境變量

  57.    if [ -z "$MODULE_NAME" -o ! -f $WAR_PATH ]

  58.    then

  59.        echo 錯誤:MAVEN部署模塊名稱 參數為空 找不到WAR包!

  60.        echo 部署失敗!

  61.        exit 1

  62.    fi


  63.    #scp 軟件包

  64.   ssh $HOST /etc/init.d/${MODULE_NAME} stop

  65.   ssh 172.16.1.35 "[ -d $TARGET_TOMCAT_PATH/webapps/ROOT/ ]" >/dev/null 2>&1

  66.   if [ $? = 0 ];then

  67.      ssh 172.16.1.35 rm -rf $TARGET_TOMCAT_PATH/webapps/ROOT

  68.        if [ $? = 0 ];then

  69.           scp  $WAR_PATH root@172.16.1.35:$TARGET_TOMCAT_PATH/webapps/ROOT.war && echo WAR包部署完畢。

  70.           echo $TARGET_TOMCAT_PATH is OK

  71.        else

  72.           echo 刪除$TARGET_TOMCAT_PATH is error

  73.        fi

  74.   else

  75.           echo "not found $TARGET_TOMCAT_PATH/webapps/ROOT"

  76.           scp  $WAR_PATH root@172.16.1.35:$TARGET_TOMCAT_PATH/webapps/ROOT.war && echo WAR包部署完畢。

  77.           ssh $HOST /etc/init.d/${MODULE_NAME} restart

  78.   fi


  79. ####################啟動文件


  80. done

  81.  #scp /home/config.properties/ysc/${MODULE_NAME}.js root@172.16.1.35:$TARGET_TOMCAT_PATH/webapps/ROOT/web/js/basePath.js

  82.  ssh $HOST /etc/init.d/${MODULE_NAME} restart


Jenkins配置如下修改
Jenkins 自動化部署上線

Jenkins 自動化部署上線

修改完成后我們構建演示
Jenkins 自動化部署上線

提示:這種環境下配置文件都是通過maven build進行控制,也就是通過研發控制配置文件

+
+
+
+




(3) Java 環境演示 [上線腳本]

線上環境演示
我們的上線流程如下:
Jenkins 自動化部署上線

Jenkins配置如下:
Jenkins 自動化部署上線
Jenkins 自動化部署上線
Jenkins 自動化部署上線

+
+
+
+
+
1.首先測試環境腳本:

  1. [root@tomcat ~]# cat /server/scripts/.upgrade-smscenter.sh

  2. #!/bin/bash

  3. WAR="/jenkins/workspace/portal-smscenter/bxg-sms-center-web/target/*.war"

  4. Path="/data/hub/bxg-smscenter/`date +%Y%m%d`/"


  5. scp_war(){


  6. if [ ! -d $Path ];then

  7. ssh root@file-server mkdir -p $Path

  8.    scp $WAR root@file-server:$Path

  9. else

  10.    scp $WAR root@file-server:$Path

  11. fi

  12. }

  13. ssh_file(){

  14.  ssh root@file-server "/bin/bash /server/script/bxg/bxg-smscenter.sh"

  15. }

  16. scp_war

  17. ssh_file

2.跳板機腳本修改

[root@File-server1 ~]# cat /server/script/bxg/bxg-smscenter.sh#!/bin/bashHOST=online-server2WAR="/data/hub/bxg-smscenter/`date +%Y%m%d`"DIR="/application/smscenter/webapps/ROOT/"function scp_file {    if `ssh root@$HOST "[ ! -d $WAR ]"`;then            ssh root@$HOST "mkdir -p $WAR"    fi            scp $WAR/*.war root@$HOST:$WAR/            echo "scp $WAR/*.war root@$HOST:$WAR/"}ssh_deploy(){    ssh root@$HOST "/bin/bash /server/scripts/deploy_smscenter.sh"}scp_filessh_deploy

3.web 服務器腳本

  1. [root@online-server2 ~]# cat /server/scripts/deploy_smscenter.sh

  2. #!/bin/bash

  3. WAR="/data/hub/bxg-smscenter/`date +%Y%m%d`"

  4. OBJECT="/application/smscenter/webapps/ROOT/"

  5. Backup="/data/tomcat/bxg-smscenter-`date +%Y%m%d`"

  6. SCR_D="/application/smscenter/webapps/ROOT"

  7. #config="/data/bak"



  8. backup_tar(){

  9.    tar zcvf $Backup.tar.gz $SCR_D/

  10.    echo "為了防止意外cp整個項目目錄存放"

  11.    cp -a $SCR_D/ $Backup

  12.    rm -rf $OBJECT/*

  13. }





  14. cp_war(){

  15.    unzip $WAR/*.war -d $SCR_D/

  16. }


  17. cp_config(){

  18.    cat $Backup/WEB-INF/classes/application-prod.properties >$SCR_D/WEB-INF/classes/application-prod.properties

  19.    /etc/init.d/smscenter restart

  20. }

  21. backup_tar

  22. cp_war

  23. cp_config

  24. [root@online-server2 ~]#

相關文章  企業必會技能 tomcat

+
+
+
+




(4) NodeJs 環境演示 [上線腳本]

node 環境上線流程
Jenkins配置如下 [node項目不適用maven,所以可以不用創建maven項目,直接在Jenkins創建普通項目就可以]
Jenkins 自動化部署上線
Jenkins 自動化部署上線

1.測試環境腳本

  1. [root@tomcat ~]# cat /server/scripts/mobile/mobile.sh

  2. #!/bin/bash

  3. source /etc/profile


  4. HOST=file-server

  5. BASE_DIR=/server/scripts/mobile/m

  6. url=$1

  7. server=$2

  8. DATE=`date +%Y%m%d`



  9. tar(){

  10. rm -rf $BASE_DIR


  11.    [ -d $BASE_DIR ] || mkdir $BASE_DIR

  12.    cd $BASE_DIR

  13. echo "##########################################################"

  14. echo "代碼拉取中!!!"

  15. svn co -q $url/ .

  16.    echo "##########################################################"


  17. }


  18. cp(){


  19.    cd ${BASE_DIR}

  20. /bin/tar -zcvf m_${DATE}.tar.gz ./*

  21.    echo "##########################################################"

  22.    echo "文件已經打包完成! 正在拷貝中!!!"

  23.    echo "##########################################################"

  24.    sleep 5

  25.    scp  m_${DATE}.tar.gz root@$HOST:/data/hub/bxg-mobile/

  26.    echo "##########################################################"

  27.    echo "文件已經拷貝完成! 正在上傳服務器中!!!"

  28.    echo "##########################################################"

  29.        ssh root@file-server "/bin/bash /server/script/bxg/bxg-mobile.sh $server"


  30. }


  31. tar

  32. cp

  33. [root@tomcat ~]#

2.跳板機腳本

  1. [root@File-server1 ~]# cat /server/script/bxg/bxg-mobile.sh

  2. #!/bin/bash

  3. HOST=$1

  4. Mobile_tar="/data/hub/bxg-mobile"

  5. DIR="/application/node"

  6. DATE=`date +%Y%m%d`





  7. scp_file(){

  8.    if `ssh root@$HOST "[ ! -d $Mobile_tar ]"`;then

  9.            ssh root@$HOST "mkdir -p $Mobile_tar"

  10.    fi

  11.            scp $Mobile_tar/m_${DATE}.tar.gz root@$HOST:$DIR/

  12.        sleep 3

  13.        echo "   "

  14.        echo "##########################################################"

  15.        echo "File-server 正在拷貝 ${HOST}!!!"

  16.        sleep 3

  17.        echo "##########################################################"

  18. }



  19. ssh_deploy(){

  20.           echo "Hi"

  21.    ssh root@$HOST "/bin/bash /server/scripts/bxg/bxg-mobile.sh"

  22. }


  23. scp_file

  24. ssh_deploy

3.web 發布腳本

  1. [root@iZbp11tefvghtcfn5mudgdZ ~]# cat /server/scripts/bxg/bxg-mobile.sh

  2. #!/bin/bash

  3. source /etc/profile

  4. DIR="/application/node"

  5. DATE=`date +%Y%m%d`


  6. Backup="/application/node/m/"

  7. BAK="/data/hub/bxg-mobile"




  8. backup_tar(){

  9.    echo "為了防止意外cp整個項目目錄存放"

  10.    cp -ar $Backup ${BAK}/mobile_$DATE

  11.    echo "online-server 原目錄拷貝備份完成!"

  12. }




  13. cp_war(){

  14.    /etc/init.d/mobile stop

  15.    #mv $Backup /tmp/m_${DATE} && rm -rf /tmp/m_${DATE}

  16. rm -rf $Backup

  17.    mkdir $Backup && cd /application/node/

  18. tar xf m_${DATE}.tar.gz -C $Backup



  19. }

  20. npm_config(){

  21.    cd $Backup

  22. cnpm install

  23. npm run build-prod

  24. npm run start-prod &>/var/log/mobile_${DATE}.log &


  25. }


  26. C(){

  27.    echo "++++++++++++++++++++++++++++++++++++++++++++++++++++"

  28.    curl  -I 127.0.0.1:3000

  29.    echo "###################################################"

  30.    echo "若是200 服務啟動正常! 可以啟動另一臺!"

  31.    echo "###################################################"

  32. }








  33. backup_tar

  34. cp_war

  35. npm_config

  36. C

+
+
+
相關文章 Node.js 環境搭建

總結:Jenkins自動化不是運維一個人就可以完成的,需要研發的參與,本文只是給大家展示一下我公司的自動化,我眼里所謂的自動化. 希望大家不喜勿噴,對文章有意見或建議請在評論留言哦~



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邵武市| 乌拉特中旗| 临泉县| 德江县| 恭城| 巴里| 上饶市| 石城县| 彩票| 弥勒县| 全州县| 滁州市| 维西| 镇康县| 榆树市| 卓尼县| 丰都县| 汉沽区| 玉环县| 广安市| 宁南县| 彰化县| 敖汉旗| 弋阳县| 崇义县| 北宁市| 吉水县| 萝北县| 漳州市| 肥乡县| 论坛| 通榆县| 兴国县| 汶上县| 新沂市| 尚义县| 达孜县| 赤壁市| 新民市| 高陵县| 铜山县|