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