日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
docker4dotnet#5使用VSTS/TFS搭建基于容器的持續(xù)交付管道

在過(guò)去的幾篇d4d系列中,我給大家介紹了如何使用docker來(lái)支持asp.net core的應(yīng)用開(kāi)發(fā),打包的場(chǎng)景。Asp.net core的跨平臺(tái)開(kāi)發(fā)能力為.net開(kāi)發(fā)人員提供了使用容器進(jìn)行應(yīng)用開(kāi)發(fā)的能力,今天這篇文章將對(duì)如何使用微軟的全生命周期管理平臺(tái)VSTS/TFS來(lái)構(gòu)建基于容器的CI/CD管道來(lái)支持團(tuán)隊(duì)開(kāi)發(fā)的場(chǎng)景。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、興安盟網(wǎng)站維護(hù)、網(wǎng)站推廣。

#1 前世今生 & 世界你好

#2 容器化主機(jī)

#3 在macOS上使用Visual Studio Code和Docker開(kāi)發(fā)asp.net core和mysql應(yīng)用

#4 使用Azure云存儲(chǔ)構(gòu)建高速 Docker registry

Visual Studio Team Services/Team Foundation Server

VSTS/TFS是微軟Visual Studio產(chǎn)品組提供給廣大開(kāi)發(fā)者的全生命周期管理平臺(tái),Visual Studio Team Service (VSTS)是構(gòu)建在微軟公有云Azure平臺(tái)上的Saas架構(gòu)的開(kāi)發(fā)平臺(tái),為中小團(tuán)隊(duì)和跨地域的大型團(tuán)隊(duì)提供軟件開(kāi)發(fā)過(guò)程的端到端管理能力,這個(gè)平臺(tái)對(duì)于5名以下開(kāi)發(fā)團(tuán)隊(duì)的小團(tuán)隊(duì)完全免費(fèi)(同時(shí)可以有任意數(shù)量的管理人員參與,VSTS通過(guò)區(qū)分stakeholder和developer兩種角色,為stakeholder這些只需要管理過(guò)程而無(wú)需修改代碼的管理人員提供了完全免費(fèi)的訪問(wèn)許可)。Team Foundation Server是VSTS的企業(yè)版,可以由企業(yè)獨(dú)立部署于私有云或者數(shù)據(jù)中心中,并提供與VSTS一致的功能體驗(yàn)。

基于容器的CI/CD

容器技術(shù)所解決的主要問(wèn)題是環(huán)境的一致性和同一版本的應(yīng)用在不同的環(huán)境中的遷移問(wèn)題,雖然對(duì)單個(gè)開(kāi)發(fā)人員也提供了更高效的開(kāi)發(fā)模式,但容器的作用在團(tuán)隊(duì)開(kāi)發(fā)中和管理開(kāi)發(fā)/測(cè)試/預(yù)生產(chǎn)/生產(chǎn)環(huán)境中會(huì)體現(xiàn)得更有價(jià)值。從事軟件開(kāi)發(fā)的技術(shù)人員都知道,在開(kāi)發(fā)過(guò)程中保持不同開(kāi)發(fā)人員/測(cè)試人員使用統(tǒng)一的環(huán)境是一件非常困難的事情,很多過(guò)程中的問(wèn)題都是環(huán)境不一致造成的。容器正是解決這一問(wèn)題的有效方式。

為了能夠構(gòu)建基于容器的CI/CD,我們需要以下工具鏈:

下圖展示了以上工具鏈的關(guān)系和工作流程

下圖中可以看到,要構(gòu)建完整的發(fā)布工具,我們需要一個(gè)多級(jí)技術(shù)棧,Docker的容器化工具降低了***層環(huán)境和應(yīng)用技術(shù)棧的復(fù)雜度,讓我們的發(fā)布過(guò)程變得更簡(jiǎn)單。

下面我們就來(lái)看一下如何配置這樣一套基于容器的CI/CD環(huán)境

1. 創(chuàng)建容器化主機(jī)作為開(kāi)發(fā)/測(cè)試/生產(chǎn)環(huán)境

關(guān)于如何在開(kāi)發(fā)環(huán)境中創(chuàng)建容器化主機(jī)支持編碼和調(diào)試,請(qǐng)參考

《#1 前世今生 & 世界你好》

關(guān)于如何在云環(huán)境中創(chuàng)建容器化主機(jī)支持測(cè)試和生產(chǎn)環(huán)境,請(qǐng)參考

《#2 容器化主機(jī)》

2. 在Linux服務(wù)器上配置TFS構(gòu)建代理

關(guān)于如何配置Linux服務(wù)器上的構(gòu)建代理,請(qǐng)參考

《用VSTS/TFS搭建iOS持續(xù)集成環(huán)境》

3. 將容器化主機(jī)連接到TFS

進(jìn)入TFS后臺(tái),點(diǎn)擊 服務(wù) | 新建服務(wù)終結(jié)點(diǎn) |Dcoker Host

將容器化主機(jī)的 url,和~/.docker/machine/machines/{machine-name} 目錄下的pem的文件內(nèi)容按照以下關(guān)系拷貝到配置頁(yè)面中。

重復(fù)以上過(guò)程,分別綁定用戶測(cè)試和生產(chǎn)環(huán)境的容器化主機(jī)配置,創(chuàng)建以下docker host終結(jié)點(diǎn)

○ Dockerhost-test

○ Dockerhost-pro

4. 將docker hub賬號(hào)連接到TFS

進(jìn)入TFS后臺(tái),點(diǎn)擊 服務(wù) | 新建服務(wù)終結(jié)點(diǎn) | Docker Registry

填寫(xiě)你的docker hub用戶名,密碼和郵件地址;如果使用私有的registry,請(qǐng)更新Docker Regsitry地址。

5. 配置CI定義

創(chuàng)建生成定義,并將默認(rèn)代理隊(duì)列指向?qū)?yīng)在Linux服務(wù)器上構(gòu)建代理隊(duì)列

在 生成 步驟中分別添加以下構(gòu)建任務(wù)

具體為

a. dotnet restore

b. dotnet build

c. dotnet publish

d. docker build

e. docker push

以下為docker build步驟的詳細(xì)配置,注意這里我們使用$(Build.BuildNumber)這個(gè)環(huán)境變量作為容器鏡像的tag,這樣我們就可以使用統(tǒng)一的構(gòu)建號(hào)來(lái)管理容器鏡像的不同版本。

以下是docker push的詳細(xì)配置,此步驟將把構(gòu)建好的容器上傳到docker hub并使用$(Build.BuildNumber)作為版本號(hào)tag。

6. 創(chuàng)建CD發(fā)布管道

創(chuàng)建以下發(fā)布管道配置,分別指定測(cè)試環(huán)境和生產(chǎn)創(chuàng)建的部署步驟

在每一個(gè)環(huán)境中,我們都執(zhí)行以下步驟

○ Stop running container

○ Remove container

○ Run container

測(cè)試環(huán)境和生產(chǎn)環(huán)境分別使用不同的容器化主機(jī)連接(在第1-2步中創(chuàng)建的連接)。

7. 配置測(cè)試環(huán)境到生產(chǎn)環(huán)境的升級(jí)策略

以下配置要求生產(chǎn)環(huán)境的部署只有在測(cè)試環(huán)境部署成功的情況下才能執(zhí)行

以下配置要求生產(chǎn)環(huán)境的部署必須由特定的用戶進(jìn)行審批通過(guò)后才能執(zhí)行

至此,我們就完成了基于容器的CI/CD發(fā)布管道配置。

【本文為專欄作者“徐磊”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)devopshub獲取授權(quán)】


網(wǎng)站題目:docker4dotnet#5使用VSTS/TFS搭建基于容器的持續(xù)交付管道
URL地址:http://www.5511xx.com/article/cdeeoec.html