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