欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jenkins+shell自動(dòng)化部署的實(shí)現(xiàn)步驟

 更新時(shí)間:2022年04月11日 10:10:59   作者:漸落葉無聲  
本文主要介紹了jenkins+shell自動(dòng)化部署的實(shí)現(xiàn)步驟,通過jenkins與shell腳本相結(jié)合,實(shí)現(xiàn)war包自動(dòng)部署到多臺(tái)服務(wù)器上,感興趣的可以了解一下

通過jenkins與shell腳本相結(jié)合,實(shí)現(xiàn)war包自動(dòng)部署到多臺(tái)服務(wù)器上

環(huán)境:

  • 192.168.2.120 jenkins服務(wù)器
  • 192.168.2.117 tomcat服務(wù)器

設(shè)置jenkins服務(wù)器免密鑰登陸tomcat服務(wù)器

117服:執(zhí)行命令ssh-keygen -t rsa
120服:cd .ssh/;scp -p id_rsa.pub root@192.168.2.117:/root/.ssh/authorized_keys

scp -p ~/.ssh/id_rsa.pub root@192.168.2.117:/root/.ssh/authorized_keys

單擊helloworld再點(diǎn)擊配置按鈕進(jìn)入配置界面

1)選擇execute shell

這里寫圖片描述

這里寫圖片描述

點(diǎn)擊保存按鈕

腳本:

cp /root/.jenkins/jobs/helloworld/workspace/target/edu.war /var/www/html/download/
chown apache:apache /var/www/html/download/edu.war
ssh  root@192.168.2.117  'bash -x -s' < /data/sh/auto_install.sh

此處由于直接通過網(wǎng)頁上下載war包,所以需要開啟httpd
service httpd start(yum install httpd apr apr-util)

在120服上添加腳本名稱

mkdir -p /data/shcd /data/sh

添加腳本內(nèi)容:

#!/bin/bash
TOMCAT_PID=`ps -ef| grep tomcat | grep -v grep |awk '{print $2}'`
TOMCAT_DIR="/usr/local/tomcat"
FILES="edu.war"
DES_DIR="/usr/local/tomcat/webapps/ROOT"
DES_URL="http://192.168.2.120/download"
BAK_DIR="/data/backup/`date +%Y%m%d-%H%M`"
[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
cd $DES_DIR
rm -rf $FILES
mkdir -p $BAK_DIR
\cp -a $DES_DIR/* $BAK_DIR/
rm -rf $DES_DIR/*
wget -c $DES_URL/$FILES
/usr/java/jdk1.8.0_151/bin/jar  -xvf  $FILES
cd $TOMCAT_DIR
rm -rf work
. /etc/profile
set -m;/bin/sh $TOMCAT_DIR/bin/startup.sh

在jenkins的web界面,進(jìn)入job后,點(diǎn)擊立即構(gòu)建按鈕

1)

這里寫圖片描述

2)進(jìn)入構(gòu)建頁面,點(diǎn)擊console output按鈕,可以看到相關(guān)輸出信息

這里寫圖片描述

構(gòu)建完成后,可以在120的web界面看到下載的文件edu.war

這里寫圖片描述

在117上啟動(dòng)tomcat,瀏覽器輸入網(wǎng)址,可以看到如下部署好的web頁面

這里寫圖片描述

至此自動(dòng)部署web完成

如果要部署多個(gè),可以在ip.txt設(shè)置多個(gè)ip,然后通過for循環(huán)取部署即可

添加個(gè)119服務(wù)器,并配置好tomcat,然后設(shè)置120服免密鑰登陸119服
此時(shí)有兩個(gè)tomcat服務(wù)器,分別為117服和119服

在工程的配置界面,修改腳本為

cp /root/.jenkins/jobs/helloworld/workspace/target/edu.war /var/www/html/download/
chown apache:apache /var/www/html/download/edu.war
for  I  in  `cat /data/sh/ip.txt`;do ssh  root@${I}  'bash -x -s' < /data/sh/auto_install.sh ;done

在/data/sh目錄下手動(dòng)建立文本ip.txt,里面填寫上要自動(dòng)部署web的ip地址

[root@localhost sh]# cat /data/sh/ip.txt 
192.168.2.117
192.168.2.119

然后點(diǎn)擊立即構(gòu)建按鈕,此時(shí)就可以在117服和119服上看到自動(dòng)部署的web界面

1)117服

這里寫圖片描述

2)119服

這里寫圖片描述

如果tomcat服務(wù)器數(shù)量較多,可以借助ansible工具與jenkins的結(jié)合來實(shí)現(xiàn)批量部署

備注:

1) tomcat服務(wù)器要安裝jdk

2) 在tomcat服上手動(dòng)去下載,提示權(quán)限問題

這里寫圖片描述

yum安裝的apache,默認(rèn)的執(zhí)行用戶為apache,而腳本里cp的文件edu.war的所有者和所屬組均為root,所以提示沒有權(quán)限

3) tomcat服務(wù)器的jdk路徑要統(tǒng)一

4) 默認(rèn)文件路徑為/root/.jenkins/jobs/helloworld/workspace/target

5) 這里結(jié)合了httpd來獲取下載的路徑,實(shí)際上,可以在項(xiàng)目helloworld的配置界面,設(shè)置文檔存儲(chǔ)路徑
A. 點(diǎn)擊增加構(gòu)建后操作步驟按鈕,設(shè)置路徑

這里寫圖片描述

B. 點(diǎn)擊立即構(gòu)建后,war包就會(huì)存放在該路徑下,url為http://192.168.2.120:8080/job/helloworld/lastSuccessfulBuild/artifact/target/edu.war

這里寫圖片描述

這里寫圖片描述

C. 通過url可以直接獲取war包,
比如

wget http://192.168.2.120:8080/job/helloworld/lastSuccessfulBuild/artifact/target/edu.war

對(duì)應(yīng)的服務(wù)器路徑為/root/.jenkins/jobs/helloworld/lastSuccessful/archive/target

auto_install.sh

#!/bin/bash
TOMCAT_PID=`ps -ef| grep tomcat | grep -v grep |awk '{print $2}'`
FILENAME="edu.war"
TOMCAT_DIR="/usr/local/tomcat"
DES_DIR="/usr/local/tomcat/webapps/ROOT"
DES_URL="http://192.168.2.120:8080/job/helloworld/lastSuccessfulBuild/artifact/target"
BAK_DIR="/data/backup/`date +%Y%m%d-%H%M`"
[ -n "$TOMCAT_PID" ] && kill -9 $TOMCAT_PID
cd $DES_DIR
rm -rf $FILENAME
mkdir -p $BAK_DIR
\cp -a $DES_DIR/* $BAK_DIR/
rm -rf $DES_DIR/*
wget -c $DES_URL/$FILENAME
/usr/java/jdk1.8.0_151/bin/jar  -xvf  $FILENAME
cd $TOMCAT_DIR
rm -rf work
. /etc/profile
set -m;/bin/sh $TOMCAT_DIR/bin/startup.sh

到此這篇關(guān)于jenkins+shell自動(dòng)化部署的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)jenkins shell自動(dòng)化部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux 查找大目錄和大文件的方法(推薦)

    linux 查找大目錄和大文件的方法(推薦)

    下面小編就為大家?guī)硪黄猯inux 查找大目錄和大文件的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 深入探究Linux shell的實(shí)現(xiàn)原理

    深入探究Linux shell的實(shí)現(xiàn)原理

    這篇文章主要介紹了Linux shell的實(shí)現(xiàn)原理,文中通過代碼示例和圖文介紹的非常詳細(xì),對(duì)大家探究Linux shell的實(shí)現(xiàn)原理有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • Shell中printf和test命令的實(shí)際應(yīng)用詳解

    Shell中printf和test命令的實(shí)際應(yīng)用詳解

    本文主要介紹了Shell中printf和test命令的實(shí)際應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • linux C語言開發(fā)管道通信實(shí)例詳解

    linux C語言開發(fā)管道通信實(shí)例詳解

    這篇文章主要介紹了linux C語言開發(fā)管道通信實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • Linux?screen命令使用示例

    Linux?screen命令使用示例

    Screen是一個(gè)全屏窗口管理器,它在多個(gè)進(jìn)程(通常是交互式shell)之間多路傳輸物理終端。每個(gè)虛擬終端提供DEC?VT100終端的功能,以及ANSI?X3的幾個(gè)控制功能,本文給大家分享Linux?screen命令使用示例,感興趣的朋友一起看看吧
    2023-03-03
  • linux定時(shí)備份MySQL數(shù)據(jù)庫并刪除以前的備份文件(推薦)

    linux定時(shí)備份MySQL數(shù)據(jù)庫并刪除以前的備份文件(推薦)

    這篇文章主要介紹了linux定時(shí)備份MySQL數(shù)據(jù)庫并刪除以前的備份文件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • linux下source命令使用詳解

    linux下source命令使用詳解

    這篇文章主要為大家詳細(xì)介紹了Linux Source命令及腳本的執(zhí)行方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問題)

    Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問題)

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)亂序排列文件內(nèi)容的多種方法(洗牌問題),本文給出3個(gè)Shell腳本和一個(gè)Python腳本解決亂序排列文件內(nèi)容問題,需要的朋友可以參考下
    2015-01-01
  • Shell腳本IF條件判斷和判斷條件總結(jié)

    Shell腳本IF條件判斷和判斷條件總結(jié)

    這篇文章主要介紹了Shell腳本IF條件判斷和判斷條件總結(jié),本文先是給出了IF條件判斷的語法,然后給出了常用的判斷條件總結(jié),需要的朋友可以參考下
    2014-10-10
  • 判斷Linux Shell環(huán)境變量是否存在

    判斷Linux Shell環(huán)境變量是否存在

    這篇文章主要介紹了Linux Shell 判斷環(huán)境變量是否存在的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03

最新評(píng)論