Azure DevOps的使用入門(mén)

來(lái)源: 仙人技術(shù)
作者:SSgeek
時(shí)間:2021-11-04
17108
Azure DevOps是由微軟開(kāi)發(fā)的服務(wù)平臺(tái),它提供了多種工具,可用于更好地進(jìn)行團(tuán)隊(duì)協(xié)作。它還具有用于自動(dòng)構(gòu)建過(guò)程,測(cè)試,版本控制和程序包管理的工具。

1、介紹

Azure DevOps是由微軟開(kāi)發(fā)的服務(wù)平臺(tái),它提供了多種工具,可用于更好地進(jìn)行團(tuán)隊(duì)協(xié)作。它還具有用于自動(dòng)構(gòu)建過(guò)程,測(cè)試,版本控制和程序包管理的工具

Azure DevOps提供了5個(gè)主要模塊

  • Azure Boards:敏捷工具

  • Azure Repos:無(wú)限的、云托管的私人和公共Git 庫(kù)

  • Azure Pipelines:構(gòu)建流水線(xiàn)

  • Azure Test Plans:測(cè)試工具

  • Azure Artifacts:制品包存檔

除此之外,在擴(kuò)展市場(chǎng)還有超過(guò)1,000個(gè)應(yīng)用和工具可供選擇,這點(diǎn)和自家產(chǎn)品VS Code一樣,有著非常強(qiáng)大的插件生態(tài)

2、服務(wù)開(kāi)通

主要步驟如下

  • 訪(fǎng)問(wèn)dev.azure.com

  • 點(diǎn)擊“免費(fèi)開(kāi)始使用”

  • 使用Microsoft帳戶(hù)或Github帳戶(hù)登錄(從2018年的某一天起,Github也是微軟自家的了)

  • 創(chuàng)建一個(gè)organization(組織)

  • 創(chuàng)建一個(gè)project(項(xiàng)目)

3、添加 ssh key

依次點(diǎn)擊User settings —> Security —> SSH Public Keys —> New key,輸入本地的git ssh公鑰

4、測(cè)試項(xiàng)目

4.1 提交代碼

提交測(cè)試代碼,從github克隆并手動(dòng)推送到到azure devops repo

當(dāng)然,也可以直接導(dǎo)入github項(xiàng)目到azure devops界面,這里記錄的是提交代碼過(guò)程

?  git clone https://github.com/MicrosoftDocs/pipelines-java && cd pipelines-java
Cloning into 'pipelines-java'...
remote: Enumerating objects: 107, done.
remote: Total 107 (delta 0), reused 0 (delta 0), pack-reused 107
Receiving objects: 100% (107/107), 73.86 KiB | 134.00 KiB/s, done.
Resolving deltas: 100% (38/38), done.
?  git:(master) git remote add azure git@ssh.dev.azure.com:v3/ssgeek/test-project/test-project
?  git:(master) git push -u azure --all

4.2 創(chuàng)建 pipeline

創(chuàng)建第一個(gè)pipeline管道

登錄到Azure DevOps組織,并導(dǎo)航到項(xiàng)目

轉(zhuǎn)到pipeline,然后選擇"新建Create Pipeline

選擇Azure Repos Git作為源代碼位置,進(jìn)一步選擇剛才創(chuàng)建的test-project這個(gè)倉(cāng)庫(kù)

配置項(xiàng)目流水線(xiàn)類(lèi)型Configure your pipeline,這里識(shí)別出了是java庫(kù),可選擇的類(lèi)型有四種

  • Maven 類(lèi)型

  • Maven 類(lèi)型并部署到 azure cloud 上

  • 自定義最小化 pipeline

  • 選擇現(xiàn)有的 Azure Pipelines YAML 文件

由于倉(cāng)庫(kù)中沒(méi)有pipeline文件,這里選擇自動(dòng)生成一個(gè)pipeline文件

自動(dòng)生成的pipeline文件內(nèi)容如下

# Maven
# Build your Java project and run tests with Apache Maven.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/java

trigger:
- master

pool:
  vmImage: ubuntu-latest

steps:
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.8'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    goals: 'package'

點(diǎn)擊Save and run

查看構(gòu)建日志

此時(shí)是構(gòu)建失敗的,也可以到控制臺(tái)中查看構(gòu)建錯(cuò)誤提示

從提示可以看出構(gòu)建失敗,在于使用Azure Pipelines生成代碼或部署,需要至少一個(gè)代理agent,真正運(yùn)行構(gòu)建任務(wù)的是代理agent,這里并沒(méi)有購(gòu)買(mǎi)或授予任何托管用于運(yùn)行pipeline任務(wù)的agent,可以按照提示的鏈接申請(qǐng)免費(fèi)的 Agent[1]

此代理可以綁定微軟云代理,也可以綁定自托管的代理(LinuxWindows、macOS

申請(qǐng)后過(guò)幾個(gè)小時(shí)就可以了,再去修改代碼觸發(fā)運(yùn)行或者手動(dòng)運(yùn)行pipeline,成功運(yùn)行

4、服務(wù)的部署

構(gòu)建流程運(yùn)行完成后,就涉及到服務(wù)的部署了

azure devops中,服務(wù)部署支持部署到VMkubernetes環(huán)境

配置目標(biāo)環(huán)境的方法,選擇Pipelines —> Environments —> Create environments

k8s資源為例,直接配置連接azure cloudk8s,或者用service account進(jìn)行配置通用的k8s集群

具體的部署模式可以選擇yaml部署、helm部署、以及azure devops支持的Canary灰度部署等等

5、小結(jié)

azure devops的模式和gitlab ci一樣,自身集成了代碼庫(kù)管理和devops流水線(xiàn)功能,其運(yùn)行任務(wù)的節(jié)點(diǎn)類(lèi)似gitlab runner,是商業(yè)化devops產(chǎn)品的一大選擇

最重要的是,azure devops Pipelines一個(gè)月有1800分鐘的免費(fèi)額度,這個(gè)免費(fèi)并不是付費(fèi)才能“解鎖更多姿勢(shì)”的那種,足夠良心

從個(gè)人使用來(lái)看,界面足夠簡(jiǎn)約好用

所以綜上,如果是想白嫖使用商業(yè)的devops產(chǎn)品,azure devops可以首選

azure pipeline的語(yǔ)法和gitlab ci語(yǔ)法也非常類(lèi)似,后面再提及了

See you ~

參考資料

[1]

申請(qǐng)免費(fèi)的Agent: https://aka.ms/azpipelines-parallelism-request


[2]

https://docs.microsoft.com/zh-cn/azure/devops/?view=azure-devops

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于仙人技術(shù),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀(guān)點(diǎn),不代表快出海對(duì)觀(guān)點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開(kāi)了嶄新的一頁(yè),突破了性能、云原生開(kāi)發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪(fǎng)
投稿采訪(fǎng)
出海管家
出海管家