摘要:什么是自動(dòng)構(gòu)建使用第三方服務(wù)來幫助編譯鏡像,可以在互聯(lián)網(wǎng)上面直接拉取到鏡像,減少了繁瑣的編譯過程。但是有一點(diǎn)不好的是每次在分支提交代碼之后,都可以將變更內(nèi)容更新到,而則會(huì)自動(dòng)新創(chuàng)建一個(gè),至于使用則需要手動(dòng)將這個(gè)指向才行
寫在開頭
為什么要使用自動(dòng)構(gòu)建這他么的不是廣告
現(xiàn)在的產(chǎn)品和開發(fā)環(huán)境都依賴docker,在部署的時(shí)候發(fā)現(xiàn)修改線上鏡像非常的麻煩,通常一個(gè)完整的部署需要以下幾步:
本地編寫測(cè)試dockerfile
上傳dockerfile到測(cè)試環(huán)境
刪除原有鏡像
測(cè)試環(huán)境構(gòu)建新鏡像
上傳dockerfile到線上
刪除原有鏡像
上線環(huán)境構(gòu)建新鏡像
感覺相當(dāng)?shù)疤?。?!?/p> 什么是自動(dòng)構(gòu)建
使用第三方docker服務(wù)來幫助編譯鏡像,可以在互聯(lián)網(wǎng)上面直接拉取到鏡像,減少了繁瑣的編譯過程。這真的體現(xiàn)了run any where這個(gè)口號(hào)
如何構(gòu)建以dockerhub舉例:
首先需要擁有dockerhub和github帳號(hào)(dockerhub的用戶名將會(huì)是docker鏡像的倉(cāng)庫(kù)名)
創(chuàng)建一個(gè)github倉(cāng)庫(kù)在Setting > Deploy keys 中加入ssh公鑰(之后在提交代碼的時(shí)候會(huì)用到)
在dockerhub上創(chuàng)建automated倉(cāng)庫(kù)
創(chuàng)建完之后在Build Settings 中找到下圖在對(duì)應(yīng)位置打勾,意思是當(dāng)github倉(cāng)庫(kù)push代碼的時(shí)候自動(dòng)根據(jù)dockerfile構(gòu)建鏡像
配置dockerfile的路徑,如果Dockerfile在根目錄則不需要特別處理,否則需要配置圖中的Dockerfile Location
push你的dockerfile到github,再看dockerhub的Build Details會(huì)發(fā)現(xiàn)已經(jīng)在Build鏡像了(文檔上說五分鐘內(nèi)提交的代碼之后構(gòu)建一次,其他的則會(huì)忽略)
當(dāng)鏡像構(gòu)建完畢變成success狀態(tài)時(shí) docker pull gtg0991/php7:latest 就已經(jīng)可以看到已經(jīng)在拉取鏡像了,之后dockerfile更新了也只需要在服務(wù)器上面重新執(zhí)行上面的命令就可以了,是不是方便多了
網(wǎng)絡(luò)問題因?yàn)閐ockerhub 經(jīng)常被墻導(dǎo)致直接從上面拉取不一定成功,我的代替方案是使用國(guó)內(nèi)的daocloud,和dockerhub使用類似,線上環(huán)境是國(guó)外服務(wù)器則使用dockerhub,開發(fā)環(huán)境則使用國(guó)內(nèi)的docker鏡像。
但是有一點(diǎn)不好的是 dockerhub每次在master分支提交代碼之后,都可以將變更內(nèi)容更新到latest Tag,而daocloud則會(huì)自動(dòng)新創(chuàng)建一個(gè)tag,至于使用latest Tag則需要手動(dòng)將這個(gè)tag指向latest才行
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26710.html
摘要:圍繞軟件工程效率提升進(jìn)行一系列技術(shù)內(nèi)容分享,包括國(guó)內(nèi)外持續(xù)集成持續(xù)交付,持續(xù)部署自動(dòng)化測(cè)試等實(shí)踐教程工具與資源,以及一些工程師文化相關(guān)的程序員。劃分了數(shù)據(jù)庫(kù)日志安全監(jiān)控配置管理云服務(wù)等個(gè)大類,個(gè)工具。 CI Weekly 圍繞『 軟件工程效率提升』 進(jìn)行一系列技術(shù)內(nèi)容分享,包括國(guó)內(nèi)外持續(xù)集成、持續(xù)交付,持續(xù)部署、自動(dòng)化測(cè)試、 DevOps 等實(shí)踐教程、工具與資源,以及一些工程師文化相關(guān)...
摘要:是什么是構(gòu)建工具特點(diǎn)構(gòu)建任何應(yīng)用自動(dòng)化一切提供更快的構(gòu)建上面的三項(xiàng)全是官方解釋對(duì)于第點(diǎn)沒有任何疑問,可以構(gòu)建任何應(yīng)用。 閱讀本文你需要一些 gradle/groovy 的基本知識(shí),本文所講的內(nèi)容全是利用各種插件去讓自身的應(yīng)用構(gòu)建發(fā)布更簡(jiǎn)單,不會(huì)涉及到基礎(chǔ)知識(shí) 在 2016 年時(shí)我寫過一個(gè)示例《springboot+gradle+vue+webpack 組合使用》,經(jīng)過了1年多我發(fā)現(xiàn)很...
摘要:以上是的所有技術(shù)分享,如有問題,請(qǐng)聯(lián)系我們圍繞軟件工程效率提升進(jìn)行一系列技術(shù)內(nèi)容分享,包括國(guó)內(nèi)外持續(xù)集成持續(xù)交付,持續(xù)部署自動(dòng)化測(cè)試等實(shí)踐教程工具與資源,以及一些工程師文化相關(guān)的程序員。 五月一來,夏天便悄然而至。flow.ci 也帶來了幾個(gè)新的變化,幫你進(jìn)一步優(yōu)化開發(fā)工作流。一起來看看這幾個(gè)重點(diǎn)功能: 支持 iOS 項(xiàng)目 Xcode8.3 構(gòu)建 iOSer 們重點(diǎn)來了,flow....
本期目標(biāo) : 基于 Centos 7.6 , 封裝出一個(gè)可用于運(yùn)行 php 項(xiàng)目的開箱即用鏡像本文不討論 dockerfile 語法 , 并且假設(shè)你懂得基本的類unix 操作系統(tǒng)常識(shí)并擁有類unix 運(yùn)行環(huán)境 (包括但不限于安裝了mac 或 linux 的實(shí)體機(jī) , 類unix虛擬機(jī) , 安裝了 MinGW 或 CygWin 的 windows 機(jī)器) , 并且認(rèn)為你懂得基本的 docker 操作...
本期目標(biāo) : 基于 Centos 7.6 , 封裝出一個(gè)可用于運(yùn)行 php 項(xiàng)目的開箱即用鏡像本文不討論 dockerfile 語法 , 并且假設(shè)你懂得基本的類unix 操作系統(tǒng)常識(shí)并擁有類unix 運(yùn)行環(huán)境 (包括但不限于安裝了mac 或 linux 的實(shí)體機(jī) , 類unix虛擬機(jī) , 安裝了 MinGW 或 CygWin 的 windows 機(jī)器) , 并且認(rèn)為你懂得基本的 docker 操作...
閱讀 2530·2023-04-26 02:47
閱讀 3012·2023-04-26 00:42
閱讀 878·2021-10-12 10:12
閱讀 1385·2021-09-29 09:35
閱讀 1699·2021-09-26 09:55
閱讀 487·2019-08-30 14:00
閱讀 1542·2019-08-29 12:57
閱讀 2362·2019-08-28 18:00