zoukankan      html  css  js  c++  java
  • 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 ~

    关注公众号加群,更多原创干货与你分享 ~

  • 相关阅读:
    团队第二次冲刺第六天
    团队第二次冲刺第五天
    [COCI 2017-2018-1]
    IOI2015day1. boxes
    IOI2015day2. horses
    BZOJ#4898. [Apio2017]商旅
    BZOJ#3267. KC采花
    IOI2016Day2. Messy
    IOI2016Day2. Paint
    BZOJ#1717:[Usaco2006 Dec]Milk Patterns 产奶的模式(后缀数组+单调队列)
  • 原文地址:https://www.cnblogs.com/ssgeek/p/15506462.html
Copyright © 2011-2022 走看看