Jenkins中的一鍵部署與版本更新-創新互聯

Jenkins作為一款持續集成,持續部署的軟件,是由java編寫的一款開源軟件

創新互聯建站是一家專業提供圖們企業網站建設,專注與網站建設、網站設計、html5、小程序制作等業務。10年已為圖們眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。

? 作為一款非常流行的CI(持續集成)工作,用于構建和測試各種項目

? Jenkins 的主要功能是監視重復工作的執行,例如軟件工程的構建或在 cron下設置的 jobs

DEV ---> GIT ---->CI(持續集成) ----->CD(持續部署)

Jenkins中的一鍵部署與版本更新

使用過程:

Dev客戶端

1.搭建好git服務器,并使用git add . +git commit -m ‘project’ 上傳至本地文件

2.Git tag v 1.0 ----打標簽 git push,git push --tag推上去

 Git端

3.登錄到github服務器,新建項目與群組,并將客戶端的git倉庫使用http推到項目中

 Jenkins服務端

4.在jenkins服務器上,建立自己的工程,其中添加git-parameter,并輸入gitlab相關url使其能夠與gitlab的項目通信,

5.可以在主菜單后會可以在build with parameter中看到各種上傳到gitlab上的版本,通過開始構建,將gitlab上的項目下載到jenkens上,搭建web,將文件打包放在web上方便分發

6.編寫腳本,實現Jenkins中文件的自動部署,版本更新


本篇主要對步驟5,6進行自動管理:

步驟5:將Jenkins上的文件一鍵部署至http共享

Jenkins的http自動分發:在工程設置中,添加構建步驟

Jenkins中的一鍵部署與版本更新

Jenkins中的一鍵部署與版本更新

newcodes_${freetag}:路徑是/var/lib/jenkins/workspace/freesttle

#將版本文件從newcodes_${freetag}放到deploy_dir下

 ------------------------------------------------------------------------

shell代碼

deploy_dir= /var/www/html/deploy/packages/

cp -r newcodes_${freetag} $deploy_dir

rm -rf $deploy_dir/newcodes_${freetag}/.git #刪除拷貝后原版本文件中的.git文件

cd $deploy_dir

在新的路徑下打包拷貝過來的版本文件

tar czf newcodes_${freetag}.tar.gz newcodes_${freetag}

rm -rf newcodes_${freetag} #刪除拷貝過來的源文件,只留tar包

md5sum newcodes_${freetag}.tar.gz | awk '{print $1}' > newcodes_${freetag}.tar.gz.md5

#用md5計算出tar包校驗值,存放在對應文件下

 -------------------------------------------------------------------------------

 新建立一個  mp_live_version 版本更新功能

#新版本(live_version),上一個版本(lastest_version)

#[ -e存在這個路徑] &&則將live_version內容寫入lastest_version

#將新的輸入內容寫如新版本

[ -e /var/www/html/deploy/live_version ] && cat /var/www/html/deploy/live_version > /var/www/html/deploy/last_version

echo ${mp_live_ver} > /var/www/html/deploy/live_version

步驟6:從jenkins上下載最新的版本文件并自動完成部署(web網頁部署)

#服務器/var/www/html下提供live_version(最新版本),lastest_version(上一版本)版本文件。提供packages/XXX_1.tar.gz文件

importrequests
fromurllibimportrequest
importhashlib
importos
importtarfile


defget_data(url):#負責將遠端的文件打開text的格式
r = requests.get(url) #下載當地地址
returnr.text #返回文本格式


defdownload(url,fname):#下載文件,前面的download腳本
html = request.urlopen(url)#下載最新的tar
withopen(fname,'wb')asfobj:
       while True:
           data = html.read(1024)
           if notdata:
               break
fobj.write(data)


defcheck_md5(fname): #校驗md5數值,求fname文件的md5數值
m = hashlib.md5()
   withopen(fname,'rb')asfobj:#打開文件逐步讀取
while True:
           data = fobj.read(1024)
           if notdata:
               break
m.update(data) #將每次的md5數值更新
returnm.hexdigest()  #md5數值轉化成可讀的形式


defdeploy(app): #部署,先切到目錄,解壓tar,創建快捷方式
os.chdir('/var/www/packages')#cd到這個路徑下
tar = tarfile.open(app,'r:gz')#app路徑的文件進行解包
tar.extractall()
   tar.close()
   src = app.replace('.tar.gz',''#.tar.gz替換為''/var/www/html/packages
dst ='/var/www/html/mysite'#創建快捷方式的路徑
ifos.path.exists(dst): #創建的路徑是否已經存在,若存在則刪除路徑后,再次創建
os.unlink(dst)
   os.symlink(src,dst) #創建快捷方式



if__name__ =='__main__':
   ver = get_data('http://192.168.122.59/deploy/live_version')#版本信息在/var/www/html/
app_name ='myproject_%s.tar.gz'%ver #壓縮包的文件名
app_url = 'http://192.168.122.59/packages/'+ app_name #壓縮包的網絡文件路徑
app_path = os.path.join('/var/www/packages',app_name)#完整的下載到本機路徑
download(app_url,app_path)#下載到本的
locals_md5 = check_md5(app_path)
   remote_md5 = get_data(app_url+'.md5').strip()#下載遠程的md5文件,并將內容后面的/n去掉
iflocals_md5 == remote_md5:
       deploy(app_path) #md5校驗沒有問題,則解壓這個版本的文件,并創建快捷方式


另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前名稱:Jenkins中的一鍵部署與版本更新-創新互聯
轉載源于:http://m.kartarina.com/article22/ccgsjc.html

成都網站建設公司_創新互聯,為您提供面包屑導航、靜態網站網頁設計公司、商城網站、軟件開發云服務器

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
主站蜘蛛池模板: 性无码免费一区二区三区在线| 免费无码一区二区三区蜜桃大 | 久久久久久国产精品无码下载 | 一道久在线无码加勒比| 久久久久亚洲AV无码专区首JN | 无码精品A∨在线观看免费| 久久男人Av资源网站无码软件| 毛片亚洲AV无码精品国产午夜| 亚洲精品色午夜无码专区日韩| 久久亚洲中文字幕无码| 国产精品无码A∨精品影院 | 国产精品无码一区二区三区免费 | 久久国产精品无码一区二区三区| 中文AV人妻AV无码中文视频| 国产在线无码精品电影网| 亚洲精品无码专区在线| 国产精品无码a∨精品| 国产AV无码专区亚洲AV蜜芽| 日韩欧精品无码视频无删节| 中文字幕无码AV波多野吉衣| 夫妻免费无码V看片| 97免费人妻无码视频| 亚洲Aⅴ无码专区在线观看q | 国产成人精品无码一区二区三区 | 日韩电影无码A不卡| 在线观看无码AV网站永久免费| 国产台湾无码AV片在线观看| 粉嫩大学生无套内射无码卡视频| 亚洲真人无码永久在线| 中文字幕av无码不卡免费| 色欲香天天综合网无码| 亚洲av无码一区二区三区人妖| 麻豆亚洲AV永久无码精品久久| 秋霞鲁丝片Av无码少妇| 亚洲AV无码日韩AV无码导航| 亚洲av无码专区在线播放| 亚洲国产a∨无码中文777| 久久久久亚洲av无码尤物| 无码久久精品国产亚洲Av影片| 日韩精品久久无码人妻中文字幕| 日日麻批免费40分钟无码|