摘要:三私有代碼庫(kù)阿里云使用引言使用肯定離不開(kāi)和代碼的集成。本著代碼可靠性,服務(wù)器穩(wěn)定性,功能擴(kuò)展性綜合對(duì)比,我們選擇使用阿里云的庫(kù)。
來(lái)自用戶的DevOps實(shí)踐分享,分享從開(kāi)發(fā)代碼到生產(chǎn)環(huán)境部署的一條龍操作的實(shí)踐及經(jīng)驗(yàn), 包含工具技術(shù)的選型及考量、私有代碼庫(kù)與私有鏡像庫(kù)的應(yīng)用等。
(一)容器服務(wù)的Rancher選型 1、為什么說(shuō)是下一代核心技術(shù)從互聯(lián)網(wǎng)的多次變革說(shuō)起,早期的C/S架構(gòu),到后來(lái)的B/S架構(gòu),一直到現(xiàn)在最普遍的M/S架構(gòu),他們的背后都是技術(shù)不斷的優(yōu)化改進(jìn),以適應(yīng)、促進(jìn)IT技術(shù)的發(fā)展整。體而言在過(guò)去10年間,互聯(lián)網(wǎng)技術(shù)可以說(shuō)是以手工制造的方式為主,類似于傳統(tǒng)銷售、設(shè)計(jì)、制作、然后打包銷售。每個(gè)環(huán)節(jié)都需要大量的人員來(lái)操作,也需要不斷有人接班學(xué)習(xí)來(lái)延續(xù)對(duì)應(yīng)的環(huán)節(jié)。而未來(lái)10年將會(huì)是以流水線的方式為主 ,其主要原因是互聯(lián)網(wǎng)云計(jì)算技術(shù)的高速發(fā)展及可持續(xù)快速交付的業(yè)務(wù)需求。其對(duì)應(yīng)的DevOps方式將完美契合。開(kāi)發(fā)運(yùn)維一體化確切的說(shuō)是一種方式,而這種方式需要全新的技術(shù)來(lái)支撐才行執(zhí)行下去,我們將之稱為下一代核心技術(shù)。
2、傳統(tǒng)技術(shù)與下一代核心技術(shù)區(qū)別傳統(tǒng)的技術(shù)主要問(wèn)題是高耦合,其耦合存在于服務(wù)器、硬件存儲(chǔ)、內(nèi)外網(wǎng)之間(網(wǎng)絡(luò)通訊),存在于應(yīng)用程序之間、代碼之間、業(yè)務(wù)模塊之間。雖然經(jīng)過(guò)近幾年的發(fā)展,在不斷的去耦合化大趨勢(shì)下,已經(jīng)盡可能的將這幾大塊之間進(jìn)行低耦合處理,但是由于傳統(tǒng)技術(shù)的限制,無(wú)法從根本上解決這些問(wèn)題。比如最常用的程序連接數(shù)據(jù)庫(kù)。傳統(tǒng)的方式多將數(shù)據(jù)庫(kù)連接字符串寫(xiě)到程序的配置文件里,導(dǎo)致其連接數(shù)據(jù)庫(kù)IP不能變,多節(jié)點(diǎn)部署程序需要一一手動(dòng)修改數(shù)據(jù)庫(kù)連接字符串,非常麻煩。隨著技術(shù)的發(fā)展優(yōu)化,有經(jīng)驗(yàn)的研發(fā)人員會(huì)將數(shù)據(jù)庫(kù)連接放到JNDI里面(如Tomcat),由中間件管理,這樣將程序和數(shù)據(jù)庫(kù)之間進(jìn)行解耦。這也是傳統(tǒng)技術(shù)架構(gòu)常用的做法。但是對(duì)于多節(jié)點(diǎn)的部署變更,需要改變多個(gè)節(jié)點(diǎn)Tomcat的JNDI配置,還是存在易用性、可維護(hù)性、可靠性方面的問(wèn)題。當(dāng)然也有高級(jí)別的中間件來(lái)集中解決這些問(wèn)題,如WebSphere的集群管理。但這都屬于為了解決問(wèn)題而解決問(wèn)題,受限于傳統(tǒng)技術(shù),無(wú)法從根因上解決各個(gè)組件、軟硬件之間的耦合問(wèn)題。而且需要商業(yè)付費(fèi),非常的貴。
下一代核心技術(shù),受益于云計(jì)算、微服務(wù)、容器服務(wù)的高速發(fā)展,采取DevOps的模式進(jìn)行整合,實(shí)現(xiàn)硬件服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)、軟件程序、代碼之間的全低耦合甚至0耦合,這將大大提高交付能力,降低運(yùn)維成本,實(shí)現(xiàn)互聯(lián)網(wǎng)產(chǎn)品的快速迭代。
3、容器服務(wù)的Rancher選型我之前的文章已經(jīng)對(duì)微服務(wù)做了基本分析,本章節(jié)及后續(xù)章節(jié)會(huì)陸續(xù)對(duì)云計(jì)算的分析應(yīng)用和容器服務(wù)的分析應(yīng)用做逐一的講解。微服務(wù)主要是對(duì)軟件代碼層面進(jìn)行解耦,云計(jì)算主要從硬件支撐層進(jìn)行解耦,而容器服務(wù)主要從應(yīng)用層面進(jìn)行解耦。容器服務(wù)的飛速發(fā)展,主要是Docker的巨大功勞,將傳統(tǒng)的虛擬化技術(shù)帶到一個(gè)全新的層面。Docker的優(yōu)勢(shì)在此不做多講,主要是其原生的管理基于命令行,對(duì)于簡(jiǎn)單應(yīng)用較為方便。但是在DevOps模式下就需要有一整套的規(guī)范接口來(lái)統(tǒng)一管理整個(gè)流水線。對(duì)于Docker容器的管理系統(tǒng)目前比較流行的有幾個(gè): K8S、Rancher、Shipyard等,其他還有一些不是很有名的在此不多做列舉了,大家可以自行研究學(xué)習(xí)。
經(jīng)過(guò)對(duì)比試用選型,在容器管理考慮到易用性包括跨主機(jī)通訊的管理、DevOps的支持力度等方面,Rancher以各方面優(yōu)先勝出。Rancher目前在開(kāi)源社區(qū)非常火爆,支持眾多的編排引擎,當(dāng)前最新版本為 1.6.12 ,大家可以下載試用。
(二)Rancher的應(yīng)用及優(yōu)點(diǎn)簡(jiǎn)介 1、環(huán)境選擇安裝Rancher環(huán)境,一定要在干凈的linux主機(jī)上進(jìn)行,避免出現(xiàn)因配置導(dǎo)致的莫名其妙的問(wèn)題。服務(wù)器操作系統(tǒng)建議CentOS7.4(內(nèi)核3.10以上),低于這個(gè)版本的系統(tǒng) 如7.3 7.2會(huì)報(bào)一個(gè)小bug,不過(guò)倒不影響使用,再低內(nèi)核的版本就不要用了,很多都不支持。
生產(chǎn)環(huán)境建議采用阿里云 Rancher(1C 2G以上的配置,若要保證運(yùn)行穩(wěn)定,建議配置至少2C 4G),宿主機(jī)(1C 2G以上的配置)、彈性公網(wǎng)EIP+ 專有網(wǎng)絡(luò)測(cè)試,私有環(huán)境建議采用Rancher(1C 2G以上的配置),宿主機(jī)(1C 2G以上的配置)、 虛擬機(jī)(Hyper-V、VMware)+ 同一內(nèi)網(wǎng)可通訊Rancher 1.6.12 ,調(diào)度引擎選擇Cattle。Rancher2.0調(diào)度引擎默認(rèn)使用K8s,當(dāng)前還是測(cè)試版,官方不建議在生產(chǎn)環(huán)境使用。
2、環(huán)境配置 3、安裝Dockerroot執(zhí)行
curl https://releases.rancher.com/install-docker/17.06.sh | sh
配置加速器
重啟Docker服務(wù)
sudo systemctl daemon-reload sudo systemctl restart docker4、安裝Rancher管理端
登陸服務(wù)器Mgr01
運(yùn)行完后,就可以通過(guò)IP:8888來(lái)訪問(wèn)Rancher的管理臺(tái)了,接下來(lái)我們就可以點(diǎn)擊 “添加主機(jī)” 來(lái)添加各個(gè)宿主機(jī)了
5、加入宿主機(jī)依次登陸各個(gè)宿主機(jī),執(zhí)行5里面的腳本即可。
如果需要把mgr01加為宿主機(jī),那么需要在4里面填寫(xiě)mgr01和ws之間互通的內(nèi)網(wǎng)IP地址,建議不要添加mgr為宿主機(jī),方便后續(xù)做mgr集群高可用。
6、添加好的界面Rancher有很多好玩的、強(qiáng)大的功能,后續(xù)我們會(huì)逐一去發(fā)現(xiàn)講解。對(duì)于DevOps來(lái)講,原來(lái)可以這么簡(jiǎn)單。
(三)私有代碼庫(kù)阿里云Git使用 1、引言使用DevOps肯定離不開(kāi)和代碼的集成。所以要想跑通整套流程,代碼庫(kù)的選型也是非常重要的。否則無(wú)法實(shí)現(xiàn)持續(xù)集成。目前比較常用的代碼管理有SVN和Git,如果還使用SVN的,建議盡早遷移到Git上面,不然很費(fèi)勁的。尤其是webhook,很多svn軟件都不支持。
2、Git選型可以采用公網(wǎng)的GitHub,這是用的最多的,但是免費(fèi)賬號(hào)還是缺少很多功能,收費(fèi)版功能更全的,但需要考慮公司的預(yù)算。
免費(fèi)版需要自行架設(shè),Gitlab CE和Bitbucket都可以。當(dāng)然這又少不了一部分維護(hù)人員、設(shè)備,從而導(dǎo)致增加成本。
那么既然不愿意花錢(qián),又想要好用的,我們就只能選型國(guó)內(nèi)一些公司的Git服務(wù)了。本著代碼可靠性,服務(wù)器穩(wěn)定性,功能擴(kuò)展性綜合對(duì)比,我們選擇使用阿里云的Git庫(kù)。
優(yōu)點(diǎn):速度快速度快,不限空間,不限項(xiàng)目數(shù)。可以和阿里的相關(guān)產(chǎn)品無(wú)縫集成。
3、注冊(cè)使用打開(kāi) 鏈接 自行注冊(cè)即可。使用方法就不說(shuō)了,和GitHub一模一樣。性能,穩(wěn)定性,都比較好。最重要的是在國(guó)內(nèi),速度非常快
4、代碼管理通過(guò)開(kāi)發(fā)IDE工具,把應(yīng)用代碼放到Git庫(kù)里面。比如我這里有個(gè)config的項(xiàng)目
5、代碼庫(kù)管理這時(shí)候看到Git服務(wù)端已經(jīng)可以做代碼管理了
(四)私有鏡像庫(kù)阿里云Docker服務(wù)使用 1、使用阿里云鏡像庫(kù)有很多優(yōu)點(diǎn)穩(wěn)定可靠,阿里技術(shù),放心使用。
國(guó)內(nèi)cdn多節(jié)點(diǎn)加速,下載速度非常快
可以和阿里云Git代碼集成,不需要第三方CI工具
國(guó)內(nèi)專屬加速器,一個(gè)人的專屬通道,國(guó)外需要FQ下載的鏡像,在這里統(tǒng)統(tǒng)可以搞定
阿里云端構(gòu)建,不需要占用本地資源,全球網(wǎng)絡(luò)直達(dá)
免費(fèi),不限空間
2、注冊(cè)使用打開(kāi) 鏈接 即可,有阿里云賬號(hào)可以直接登陸使用
3、配置加速器登陸自己的Rancher服務(wù)器mgr和ws節(jié)點(diǎn),依次執(zhí)行下列配置,把自己的docker加速器配置上。
4、這時(shí)候你就有了自己的私有鏡像庫(kù)可以使用docker標(biāo)準(zhǔn)的pull、push等進(jìn)行鏡像推拉操作。
(五)微服務(wù)CI與Rancher持續(xù)集成 1、引言DevOps的核心魅力是快速的持續(xù)集成交付,降低研發(fā)和實(shí)施運(yùn)維之間的交互,使得傳統(tǒng)的各種扯皮現(xiàn)象統(tǒng)統(tǒng)消失。最重要的是降低成本保障產(chǎn)品交付可靠性。
使用Rancher作為持續(xù)集成的關(guān)鍵環(huán)節(jié),統(tǒng)一結(jié)連微服務(wù)和云計(jì)算,使得產(chǎn)品從研發(fā)到上線流水線操作,提高生產(chǎn)效率,此處我寫(xiě)的是微服務(wù)而不是傳統(tǒng)的程序,是因?yàn)槲⒎?wù)(架構(gòu)的產(chǎn)品)和容器服務(wù)、云計(jì)算是完美結(jié)合的三大核心模塊,也是互聯(lián)網(wǎng)下一代核心技術(shù)DevOps的3個(gè)核心支柱。而傳統(tǒng)程序,由于在微服務(wù)架構(gòu)方面轉(zhuǎn)型較慢或者生態(tài)鏈較弱,無(wú)法完美進(jìn)行DevOps。
2、集成說(shuō)明本例集成代碼采用java微服務(wù)項(xiàng)目,可拋棄第三方集成組件如Jenkins,簡(jiǎn)單高效。
實(shí)現(xiàn)提交代碼,即生產(chǎn)發(fā)布的全自動(dòng)流程 (Code->Git repository->Docker repository->Rancher->Server)
3、配置自動(dòng)CI登陸阿里云鏡像庫(kù)
選擇鏡像區(qū)域,如華南1.點(diǎn)擊“創(chuàng)建鏡像倉(cāng)庫(kù)”
創(chuàng)建:命名空間,
倉(cāng)庫(kù)名稱:你的項(xiàng)目名稱
源代碼選擇:阿里云Code或者其他的Git源
勾選:代碼變更時(shí)自動(dòng)構(gòu)建鏡像
路徑:/或者你代碼里Dockerfile文件的全路徑
標(biāo)簽:latest或者自定義版本號(hào)
然后點(diǎn)擊:創(chuàng)建鏡像倉(cāng)庫(kù)
只要提交代碼上來(lái),服務(wù)器就會(huì)自動(dòng)根據(jù)構(gòu)建image鏡像
4、配置鏡像自動(dòng)構(gòu)建點(diǎn)擊剛創(chuàng)建的:server-config庫(kù),管理,記錄下鏡像庫(kù)的地址,因?yàn)樾枰诮酉聛?lái)的Rancher中進(jìn)行配置。
進(jìn)入Rancher管理后臺(tái)-基礎(chǔ)架構(gòu)-鏡像庫(kù) -添加
添加成功后,Rancher就可以下載部署你的私有鏡像
接下來(lái)進(jìn)入Rancher管理后臺(tái) -API-WebHooks 添加一條接收器
名稱:隨意好記
類型:升級(jí)服務(wù)
參數(shù)格式:阿里云
標(biāo)簽:latest
選擇器標(biāo)簽:update=server-config
然后點(diǎn)擊:創(chuàng)建
復(fù)制保存:觸發(fā)地址
再次進(jìn)入阿里云Docker管理服務(wù)后臺(tái),可以看到構(gòu)建里面的鏡像已經(jīng)構(gòu)建完畢。
我們點(diǎn)擊webhook,新增一條記錄
名稱:隨意
URL:剛才Rancher里面配置的觸發(fā)地址
標(biāo)簽:latest
登陸Rancher管理后臺(tái),開(kāi)始部署我們的應(yīng)用
新建服務(wù)
鏡像:剛建立的鏡像名稱
標(biāo)簽:update=server-config
完成后,Rancher自動(dòng)拉取鏡像庫(kù)的鏡像并部署
提交代碼。查看鏡像自動(dòng)構(gòu)建過(guò)程。完成后,查看Rancher的服務(wù)server-config自動(dòng)升級(jí)。
至此,基于DevOps的全自動(dòng)CI/DI發(fā)布已經(jīng)實(shí)現(xiàn)。且不用配置Jenkins等復(fù)雜的集成組件。最重要的是:不需要自己的服務(wù)器,全部FREE。
這種集成適合于團(tuán)隊(duì)內(nèi)部進(jìn)行了相關(guān)測(cè)試,最終交付的代碼已經(jīng)是穩(wěn)定可靠版、直接上生產(chǎn)的情況。其實(shí)這也是大多數(shù)中小型公司使用的方式,屬于半自動(dòng)化,方便,靈活可控,可隨時(shí)中斷某個(gè)環(huán)節(jié)。
另外一種方式,是全部使用全自動(dòng)化集成測(cè)試,同時(shí)包括自動(dòng)化團(tuán)隊(duì)溝通、同時(shí)多鏡像庫(kù)發(fā)布、自定義動(dòng)作等。這個(gè)對(duì)公司IT能力水平要求較高,使用Pipeline Jenkins流水線發(fā)布。這個(gè)我會(huì)在隨后的博文里面給大家講。
(六)Rancher集中存儲(chǔ)及相關(guān)應(yīng)用 1、前言為什么要使用集中存儲(chǔ)?使用集中存儲(chǔ)有個(gè)很大的優(yōu)勢(shì)是數(shù)據(jù)安全和統(tǒng)一管理,和集群完美配合。產(chǎn)品集成存儲(chǔ)經(jīng)歷
過(guò)幾個(gè)階段:
單機(jī)本機(jī)存儲(chǔ)。系統(tǒng)使用本地硬盤(pán)存儲(chǔ)
單網(wǎng)絡(luò)集中存儲(chǔ)。局域網(wǎng)主機(jī)使用同一網(wǎng)絡(luò)內(nèi)的磁盤(pán)陣列存儲(chǔ)單元
分布式集群本地存儲(chǔ)。集群節(jié)點(diǎn)使用自己本地硬盤(pán)存儲(chǔ)。
分布式集群集中存儲(chǔ)。集群節(jié)點(diǎn)使用集中存儲(chǔ)(其背后可以是單一存儲(chǔ)也可以是分布式存儲(chǔ),集中存儲(chǔ)相當(dāng)于一個(gè)代理入口)
其中云計(jì)算用的最多的是 3、4,主要適應(yīng)于網(wǎng)絡(luò)架構(gòu)的分布式設(shè)計(jì)和基本云計(jì)算存儲(chǔ),如多機(jī)房、多地存儲(chǔ)。使用集中存儲(chǔ)給運(yùn)維帶來(lái)的最大優(yōu)勢(shì)就是核心數(shù)據(jù)保存,不怕應(yīng)用崩潰,各種docker容器都可以隨時(shí)拋棄、重建而不用擔(dān)心數(shù)據(jù)問(wèn)題。
2、Rancher中使用集中存儲(chǔ)NFSRancher對(duì)Docker集群的管理已經(jīng)是非常方便,默認(rèn)是沒(méi)有加載共享存儲(chǔ)的,我們這里使用Rancher NFS插件來(lái)實(shí)現(xiàn)一個(gè)統(tǒng)一的存儲(chǔ),當(dāng)然也可以選擇其他的插件,目前官方只有這一個(gè),其他非官方的如CephFS、FastDfs等請(qǐng)自行添加插件或自寫(xiě)插件來(lái)實(shí)現(xiàn),在此不做過(guò)多解讀。
點(diǎn)擊Rancher應(yīng)用商店,搜索nfs,找到官方插件并添加
填寫(xiě)主機(jī)地址:IP
目錄:建議不要填 / 而是指向NFS服務(wù)器存儲(chǔ)的一個(gè)目錄
ON_Remove: Purge: 刪除映射目錄時(shí)會(huì)刪除NFS遠(yuǎn)程對(duì)應(yīng)的數(shù)據(jù) Retain:不刪除遠(yuǎn)程數(shù)據(jù)
點(diǎn)“啟動(dòng)”即可 ,Rancher會(huì)在各個(gè)宿主機(jī)上面添加NFS驅(qū)動(dòng)
查看NFS驅(qū)動(dòng),每個(gè)宿主機(jī)都已啟動(dòng)完畢
使用NFS:
我們?cè)谔砑臃?wù)的時(shí)候,可以配置下卷name:/容器對(duì)應(yīng)目錄
填logs:/opt/logs會(huì)對(duì)應(yīng)遠(yuǎn)程N(yùn)FS里面新建的logs目錄
如果填/logs:/opt/logs則是常用的卷映射,會(huì)寫(xiě)入宿主機(jī)本地的/logs目錄
驅(qū)動(dòng)填寫(xiě)默認(rèn)的rancher-nfs
這樣,容器里面讀寫(xiě)的文件就直接操作遠(yuǎn)程N(yùn)fs服務(wù)器了
查看效果:
啟動(dòng)應(yīng)用后,容器的日志已經(jīng)輸出到NFS里面了。
用途及注意事項(xiàng):
主要是針對(duì)日志類的,可以統(tǒng)一做日志搜集。
針對(duì)于數(shù)據(jù)持久化的,如MySQL數(shù)據(jù)可以通過(guò)映射mysql/data:/var/lib/mysql把數(shù)據(jù)集中存儲(chǔ)到NFS上
注意:
集中存儲(chǔ)要考慮到同時(shí)讀寫(xiě)的問(wèn)題,即Lock。有的程序無(wú)法同用一套數(shù)據(jù),這時(shí)候要考慮到多帶帶讀寫(xiě)或放到多個(gè)變量子目錄,如MySQL無(wú)法同時(shí)起2個(gè)實(shí)例讀寫(xiě)一套數(shù)據(jù)。
NFS插件還有不完善的地方,如只能映射目錄,無(wú)法映射文件,我們常用的-v /nginx.conf:/nginx.conf就無(wú)法使用了。
多NFS服務(wù)器配置,無(wú)法從UI界面添加,只能從YML文件來(lái)處理。
集中存儲(chǔ)一定要考慮速度問(wèn)題,畢竟網(wǎng)絡(luò)傳輸沒(méi)有本地傳輸速度快,盡量選擇公有云/私有云網(wǎng)絡(luò)是走光纖通道的。盡量不要跨地域傳輸,如深圳的使用上海的NFS服務(wù)器
盡可能使用可靠性有保障的存儲(chǔ),畢竟服務(wù)器、容器這些可以丟棄,但數(shù)據(jù)是要絕對(duì)安全的。推薦阿里云的NFS服務(wù),可以保障9個(gè)9的安全性。
作者簡(jiǎn)介鄭偉漪,深圳永達(dá)電子技術(shù)總監(jiān),負(fù)責(zé)公司互聯(lián)網(wǎng)產(chǎn)品架構(gòu)和研發(fā)管理。對(duì)于微服務(wù)架構(gòu)開(kāi)發(fā)有豐富經(jīng)驗(yàn),對(duì)互聯(lián)網(wǎng)技術(shù)的發(fā)展有獨(dú)到見(jiàn)解。曾服務(wù)神州數(shù)碼(中國(guó))、華為、銀聯(lián)商務(wù)等互聯(lián)網(wǎng)產(chǎn)品。
本文版權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)后臺(tái)留言。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/27183.html
摘要:給出的這份預(yù)測(cè),包括了對(duì)等等分析,包含上下兩篇。左耳朵耗子個(gè)的技巧,中文譯為代碼審查,是指對(duì)代碼進(jìn)行系統(tǒng)性的審查,通常是和其他開(kāi)發(fā)者來(lái)共同進(jìn)行。 2016 年的最后幾個(gè)工作日,我們對(duì) flow.ci Android & iOS 項(xiàng)目做了一些優(yōu)化與修復(fù): iOS 鏡像 cocoapods 版本更新; fir iOS上傳插件時(shí)間問(wèn)題修復(fù); Android 編譯時(shí),gradlew文件權(quán)限問(wèn)...
摘要:攜程容器云實(shí)踐這篇文章介紹了攜程技術(shù)團(tuán)隊(duì)容器云的相關(guān)實(shí)踐,包括實(shí)踐在線旅游與彈性需求容器云定位容器部署基本原則容器編排選型取舍容器網(wǎng)絡(luò)選型遇到的問(wèn)題容器監(jiān)控方案。 這周一,我們迫不及待寫(xiě)下了最新的 changelog —— 項(xiàng)目語(yǔ)言新增「Java」。創(chuàng)建 Java 項(xiàng)目工作流和其它語(yǔ)言項(xiàng)目配置很相似,flow.ci 提供了默認(rèn)的 Java 項(xiàng)目構(gòu)建流程模版,快去試試吧~showImg(...
摘要:在貓屎氤氳的霧氣里角仰望天花板,手機(jī)微信提醒這次構(gòu)建成功或失敗,并附帶污言穢語(yǔ)。這時(shí)他可以開(kāi)始往工位走,坐下時(shí),微信又會(huì)提醒本次部署到成功或失敗。與企業(yè)微信的集成在決定使用之前,需要知道的是,是一個(gè)高度依賴社區(qū)的項(xiàng)目。 前言 相信我,一切事情的發(fā)生都是趕鴨子上架,沒(méi)有例外。人類所有偉大的變革都是迫不得已,可又是那么順其自然。比如容器(docker)技術(shù)的誕生,比如箭在弦上的創(chuàng)業(yè),比如野...
摘要:以上是的所有技術(shù)分享,如有問(wèn)題,請(qǐng)聯(lián)系我們圍繞軟件工程效率提升進(jìn)行一系列技術(shù)內(nèi)容分享,包括國(guó)內(nèi)外持續(xù)集成持續(xù)交付,持續(xù)部署自動(dòng)化測(cè)試等實(shí)踐教程工具與資源,以及一些工程師文化相關(guān)的程序員。 五月一來(lái),夏天便悄然而至。flow.ci 也帶來(lái)了幾個(gè)新的變化,幫你進(jìn)一步優(yōu)化開(kāi)發(fā)工作流。一起來(lái)看看這幾個(gè)重點(diǎn)功能: 支持 iOS 項(xiàng)目 Xcode8.3 構(gòu)建 iOSer 們重點(diǎn)來(lái)了,flow....
摘要:圍繞軟件工程效率提升進(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)...
閱讀 3162·2023-04-25 17:19
閱讀 616·2021-11-23 09:51
閱讀 1338·2021-11-08 13:19
閱讀 776·2021-09-29 09:34
閱讀 1673·2021-09-28 09:36
閱讀 1493·2021-09-22 14:59
閱讀 2707·2019-08-29 16:38
閱讀 2053·2019-08-26 13:40