Azure DevOps的使用入門


1、介紹

Azure DevOps是由微軟開發的服務平台,它提供了多種工具,可用於更好地進行團隊協作。它還具有用於自動構建過程,測試,版本控制和程序包管理的工具

Azure DevOps提供了5個主要模塊

  • Azure Boards:敏捷工具
  • Azure Repos:無限的、雲托管的私人和公共Git
  • Azure Pipelines:構建流水線
  • Azure Test Plans:測試工具
  • Azure Artifacts: 制品包存檔

除此之外,在擴展市場還有超過1,000個應用和工具可供選擇,這點和自家產品VS Code一樣,有着非常強大的插件生態

2、服務開通

主要步驟如下

  • 訪問dev.azure.com
  • 點擊“免費開始使用”
  • 使用Microsoft帳戶或Github帳戶登錄(從2018年的某一天起,Github也是微軟自家的了)
  • 創建一個organization(組織)
  • 創建一個project(項目)

3、添加ssh key

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

4、測試項目

4.1 提交代碼

提交測試代碼,從github克隆並手動推送到到azure devops repo

當然,也可以直接導入github項目到azure devops界面,這里記錄的是提交代碼過程

➜  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 創建pipeline

創建第一個pipeline管道

  • 登錄到Azure DevOps組織,並導航到項目

  • 轉到pipeline,然后選擇"新建Create Pipeline

  • 選擇Azure Repos Git作為源代碼位置,進一步選擇剛才創建的test-project這個倉庫

配置項目流水線類型Configure your pipeline,這里識別出了是java庫,可選擇的類型有四種

  • Maven類型
  • Maven類型並部署到azure cloud上
  • 自定義最小化pipeline
  • 選擇現有的 Azure Pipelines YAML 文件

由於倉庫中沒有pipeline文件,這里選擇自動生成一個pipeline文件

自動生成的pipeline文件內容如下

# 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'

點擊Save and run

查看構建日志

此時是構建失敗的,也可以到控制台中查看構建錯誤提示

從提示可以看出構建失敗,在於使用Azure Pipelines生成代碼或部署,需要至少一個代理agent,真正運行構建任務的是代理agent,這里並沒有購買或授予任何托管用於運行pipeline任務的agent,可以按照提示的鏈接申請免費的Agent

此代理可以綁定微軟雲代理,也可以綁定自托管的代理(LinuxWindowsmacOS

申請后過幾個小時就可以了,再去修改代碼觸發運行或者手動運行pipeline,成功運行

4、服務的部署

構建流程運行完成后,就涉及到服務的部署了

azure devops中,服務部署支持部署到VMkubernetes環境

配置目標環境的方法,選擇Pipelines —> Environments —> Create environments

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

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

5、小結

azure devops的模式和gitlab ci一樣,自身集成了代碼庫管理和devops流水線功能,其運行任務的節點類似gitlab runner,是商業化devops產品的一大選擇

最重要的是,azure devops Pipelines一個月有1800分鍾的免費額度,這個免費並不是付費才能“解鎖更多姿勢”的那種,足夠良心

從個人使用來看,界面足夠簡約好用

所以綜上,如果是想白嫖使用商業的devops產品,azure devops可以首選

azure pipeline的語法和gitlab ci語法也非常類似,后面再提及了

See you ~

關注公眾號加群,更多原創干貨與你分享 ~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM