VSTS以Azure DevOps服務(wù)形式推出,新特性一覽
9月10 日,微軟官方博客宣布推出 Azure DevOps 服務(wù)。Azure DevOps 是對(duì)微軟的應(yīng)用程序生命周期管理系統(tǒng) Visual Studio Team Services(VSTS)進(jìn)行的重大改組和品牌重塑,此后 VSTS 將不再是單一的 Visual Studio 服務(wù),而是被分成五個(gè)獨(dú)立的 Azure 服務(wù),包含在 Azure DevOps 平臺(tái)服務(wù)之中。這五個(gè)單獨(dú)的服務(wù)分別是:
- Azure Pipelines:用于持續(xù)構(gòu)建、測(cè)試和部署到任何云平臺(tái)。
- Azure Boards:可進(jìn)行工作管理。
- Azure Artifacts:適用于 Maven、npm 和 NuGet。
- Azure Repos:提供***制的云托管私有 Git 存儲(chǔ)庫。
- Azure Test Plans:用于計(jì)劃和探索性測(cè)試。
新特性一覽
以下功能將在接下來幾天推出。
Azure Pipelines
從 GitHub Marketplace 添加 Azure Pipelines
GitHub Marketplace 中提供的*** Azure Pipelines 應(yīng)用程序擴(kuò)展了與 GitHub 存儲(chǔ)庫的集成,并簡(jiǎn)化了并行作業(yè)的購買。
以前,用戶可以通過 OAuth 認(rèn)證啟用與 GitHub 存儲(chǔ)庫的持續(xù)集成。在使用 OAuth 時(shí),Azure Pipelines 通過個(gè)人的 GitHub 標(biāo)識(shí)來獲取代碼并更新 GitHub 上的構(gòu)建狀態(tài)。但是,由于團(tuán)隊(duì)成員可能會(huì)發(fā)生人員變動(dòng),使用個(gè)人的 GitHub 身份和權(quán)限并不是一個(gè)很好的辦法。通過安裝 Azure Pipelines 應(yīng)用程序,用戶可以授權(quán)它來執(zhí)行操作。
另外,如果使用了這個(gè)應(yīng)用程序,就可以在 GitHub 的 Checks 頁面看到構(gòu)建結(jié)果,其中包含構(gòu)建、測(cè)試和代碼覆蓋率的詳細(xì)信息。
要使用這個(gè)功能,需要從 GitHub Marketplace 中安裝這個(gè)應(yīng)用程序。用戶可以使用現(xiàn)有的 GitHub 支付帳戶而不是 Azure 帳戶來購買其他并行作業(yè),價(jià)格是一樣的。
使用 Azure Pipelines 免費(fèi)構(gòu)建開源項(xiàng)目
Azure Pipelines 提供了 Linux、macOS 和 Windows 的云托管管道,開源項(xiàng)目可以享受無時(shí)間限制和 10 個(gè)免費(fèi)的并行作業(yè)。
使用 YAML 配置構(gòu)建
基于 YAML 的構(gòu)建管道現(xiàn)在普遍可用,用戶可以使用與其他代碼存放在一起的 YAML 文件來自動(dòng)執(zhí)行持續(xù)集成管道。單個(gè)作業(yè)的構(gòu)建變得相當(dāng)容易。隨著需求的增長(zhǎng),可以使用 multiple jobs、external templates 和 matrix execution 來擴(kuò)展到更多作業(yè)。
使用新向?qū)?chuàng)建 YAML 構(gòu)建管道
新的向?qū)Ш?jiǎn)化了使用 GitHub 和 Azure Repos 創(chuàng)建基于 YAML 的構(gòu)建管道的過程。在選擇了要構(gòu)建的存儲(chǔ)庫后,如果其中包含了 YAML 文件,就會(huì)自動(dòng)創(chuàng)建管道。否則,Azure Pipelines 將分析存儲(chǔ)庫,并推薦一個(gè) YAML 模板用來構(gòu)建項(xiàng)目。用戶只需單擊“保存并運(yùn)行”即可為建議的 YAML 創(chuàng)建拉取請(qǐng)求,并進(jìn)行***個(gè)構(gòu)建。持續(xù)集成和拉取請(qǐng)求觸發(fā)器將自動(dòng)被啟用。
使用新的 Builds 頁面管理構(gòu)建管道
微軟正在做一些改進(jìn),并推出新版本的 Builds 頁面。新版本將所有構(gòu)建管道目錄和當(dāng)前構(gòu)建列表結(jié)合在一起,用戶可以快速瀏覽項(xiàng)目構(gòu)建以查看它們的狀態(tài)。它還提供了管道的測(cè)試分析預(yù)覽信息。
重新啟動(dòng) GitHub 拉取請(qǐng)求構(gòu)建
當(dāng)用戶向 GitHub 存儲(chǔ)庫提交拉取請(qǐng)求時(shí),拉取請(qǐng)求構(gòu)建可能會(huì)因間歇性故障(例如包注冊(cè)表不可用或其他測(cè)試所導(dǎo)致)而失敗。在這些情況下,用戶可能希望再次運(yùn)行構(gòu)建。之前,用戶需要推送另一個(gè)拉取請(qǐng)求更新,而現(xiàn)在,在新的 Builds 頁面,只需選擇失敗的構(gòu)建,并向構(gòu)建隊(duì)列中添加一個(gè)新的構(gòu)建請(qǐng)求。
這種方式僅適用于拉開請(qǐng)求構(gòu)建,微軟正在考慮為所有失敗的構(gòu)建提供類似的功能。
新的構(gòu)建狀態(tài) badge URL
嵌入在存儲(chǔ)庫主頁的構(gòu)建 badge 是顯示存儲(chǔ)庫健康狀態(tài)的常用方法。微軟添加了新的 URL 來幫助用戶創(chuàng)建 badge。新 URL 允許用戶發(fā)布分支狀態(tài),并可以讓用戶瀏覽所選分支的***版本。用戶可以通過新 Builds 頁面上的 Status badge 菜單來獲取新的狀態(tài) URL 的 Markdown 代碼。為了向后兼容,將繼續(xù)支持舊的 URL。
在微軟托管的 Linux 代理上可以使用更多工具
在新版本中,微軟托管的 Linux 代理添加了多個(gè)構(gòu)建、測(cè)試和部署工具(具體如下),用戶無需在構(gòu)建或發(fā)布期間自行安裝它們。
- Erlang/OTP
- Firefox
- Haskell
- Heroku CLI
- ImageMagick
- Mercurial
- Microsoft SQL Server Client Tools
- MySQL Server
- PhantomJS
- Pollinate
- PyPy2 and PyPy3
- rebar
- rsync
- ShellCheck
- Sphinx
- Terraform
- Xvfb
跟蹤 GitHub 的代碼提交和相關(guān)問題
現(xiàn)在,用戶可以獲取與某個(gè)發(fā)布版本相關(guān)的代碼提交清單和問題。
使用改進(jìn)的格式更好地管理構(gòu)建和部署電子郵件通知
更新過的構(gòu)建和部署電子郵件通知可以通過電子郵件規(guī)則進(jìn)行過濾?,F(xiàn)在,郵件主題中包含更多相關(guān)信息,正文也包含更多細(xì)節(jié)和***的風(fēng)格。
新格式的元素:
- [Build result] [pipeline name] - [repository:branch] - [project name] - [commit]
- [Deployment result] [pipeline name] > [release name] : [stage name]
一些例子:
- [Build succeeded] IdentityService.CI - MyRepo:master - MyProject - d3b90b80
- [Deployment succeeded] New release pipeline > NotificationSpecialRelease-1 : Stage 1
遵循統(tǒng)一的 Azure Pipelines 術(shù)語
因?yàn)闅v史原因,在構(gòu)建和發(fā)布過程中,相似的概念可能會(huì)使用不同的術(shù)語。在其他某些情況下,有些術(shù)語的含義模棱兩可。例如,agent pool(代理池)和 agent queue(代理隊(duì)列)之間的區(qū)別就難說清楚。
術(shù)語在 Azure Pipelines 中得到了統(tǒng)一,以便更清晰地闡明相關(guān)概念。
Marketplace
新的擴(kuò)展類別
Marketplace 中的擴(kuò)展類別已經(jīng)過調(diào)整,以便與重命名的 Azure DevOps 服務(wù)保持一致。雖然之前的類別已自動(dòng)映射到新類別,用戶***還是更新一下自己的 manifest,以便切換到新類別。
Administration
現(xiàn)有組織可以使用新域名 URL
新的域名是 dev.azure.com,不過用戶仍然可以像往常一樣繼續(xù)使用 visualstudio.com。如果想要將 URL 更改為 dev.azure.com,可以讓組織管理員(Project Collection Administrator)在組織設(shè)置頁面做出更改。雖然采用新域名并不會(huì)重定向每個(gè)請(qǐng)求,但任何發(fā)給 root URL 的請(qǐng)求以及電子郵件中的鏈接和 Web 鏈接都將發(fā)生變化。
微軟將根據(jù)客戶反饋逐步遷移到新 URL。先是將它作為可選項(xiàng),后續(xù)會(huì)將它作為組織的默認(rèn)選項(xiàng)。不過讓組織棄用 visualstudio.com 的具體時(shí)間表還沒有確定。
添加利益相關(guān)者用戶,以節(jié)省 Azure Pipelines 許可成本
如果只使用 Azure Pipelines 服務(wù),在基本許可之外無需為其他用戶付費(fèi)。所有用戶都可以免費(fèi)使用 Azure Pipelines 的所有功能。在向項(xiàng)目中添加更多用戶時(shí),可以將他們視為利益相關(guān)者,他們可以創(chuàng)建、查看、更新和批準(zhǔn)構(gòu)建管道,只要給他們分配適當(dāng)?shù)臋?quán)限。以下是有關(guān)該許可變更的一些附加說明:
- 用戶只需為 Azure Pipelines 的其他并行作業(yè)付費(fèi)。用戶數(shù)沒有限制。
- 所有對(duì) Azure Pipelines 功能的訪問仍受安全和權(quán)限模型的監(jiān)管。
- 如果用戶要使用其他 Azure DevOps 服務(wù),必須在免費(fèi)限制之后為這些服務(wù)支付許可費(fèi)用。
- 在現(xiàn)有組織中,利益相關(guān)者默認(rèn)情況下不會(huì)獲得免費(fèi)的 Azure Pipelines 權(quán)限。組織管理員必須啟用這個(gè)預(yù)覽版功能,這樣利益相關(guān)者就可以執(zhí)行相關(guān)操作。目前,他們無法管理構(gòu)建或發(fā)布。但是,一旦啟用了這個(gè)預(yù)覽版功能,Azure Pipelines 的基本用戶和利益相關(guān)者之間就沒有權(quán)限差別。所以,是否允許利益相關(guān)者成為免費(fèi)的 Azure Pipelines 用戶是由組織管理員決定的。
反饋
用戶可以使用反饋菜單報(bào)告問題或提供建議。