1. 概述

MacOS是一套运行于苹果Macintosh系列电脑上的操作系统,是首个在商用领域成功的图形用户界面操作系统。Iphone应用软件的开发人员,都使用运行macOS的电脑或mini盒子进行软件开发和调试,其中XCode则是开发人员主要使用集成开发工具(IDE)。
作为一款软件协作开发管理平台产品,Azure DevOps Server完全支持基于macOS实现软件研发的持续集成和发布(CI和CD),可以使用Azure DevOps Server上的流水线(Pipleline)功能,实现XCode项目的自动编译、测试和打包发布功能。由于Xcode项目的特殊性,代码编译过程必须在运行macOS的计算机上进行,因此,部署一台基于macOS的代理服务器,是在Azure DevOps Server上实现XCode项目的持续集成和发布的基础准备。本文以Mac mini为例,介绍如何在macOS上安装和测试Azure DevOps Server的代理。
如果你对Azure DevOps Server的代理还不太了解,建议先参考微软的官方文档(https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?WT.mc_id=DT-MVP-5001330)

2. 必要条件

在macOS上部署代理之前,首先要确保你的macOS符合一下几个条件:
1)macOS的版本在10.12或以上
2)Git版本在2.9.0或以上
3)代理程序的版本在2.125或以上
如果你使用TFVC(TFS系统中使用的集中式代码库),你还必须安装Oracle Java JDK 1.6或以上版本。切记,JRE和OpenJDK是不够的,必须Oracle JDK。

3. 权限和账户

在部署之前,你必须拥有一个具备创建代理权限的账户。
如果对配置代理和代理池的权限不太熟悉,你可以简单使用集合管理员账户或者服务器管理员账户,这个级别的管理员账户,默认具备系统的所有权限。由于这是一次性的配置工作,在完成配置后,系统不会保存和使用配置过程中使用的账户,你无需担心后续修改了账户密码,会影响代理的正常运行。

4. 配置和安装代理

  1. 在macOS上,使用浏览器打开Azure DevOps Server,进入到代理配置页面,选择下载代理

    2)选择macOS类型的代理,并点击下载按钮,从互联网中下载到最新版本的代理程序
    如果需要在无互联网的环境中安装macOS代理(例如笔者的这次安装,就是在国内某银行科技部内网实施的),你可以添加将这个代理,从github 或者https://vstsagentpackage.azureedge.net/agent/2.153.1/vsts-agent-osx-x64-2.153.1.tar.gz,提前下载,复制到内网中。

    3)将下载的安装包解压缩到指定目录
    由于可以在同一台macOS中安装多个代理,实现多条流水线并发执行,我们通常创建类型~/devAgents/agent1这样的文件夹,将安装包文件解压缩在agent1目录中
    4)执行config.sh目录,完成安装配置工作

./config.sh

配置过程比较简单,按照提示输入必要的项目就可以。需要注意一下几点:

  • 服务器URL:一般是Azure DevOps的对外发布地址,例如http://dev.mycomany.com/,或者http://dev.mycompany.com:8080/tfs/
  • 认证方式:
    • 基本认证方式:需要在IIS配置好基本认证方式
    • 集成认证:一般是使用域账户认证,不适用macOS;如果使用windows操作系统,必须确保配置代理的操作账户是域账户
    • Negotiate :默认的认证方式,一般是NTLM和Kerberos两种认证方式;目前几乎所有Azure DevOps Server都使用NTLM认证,其中AD域账户又根据普遍,账户的输入方式如下domain/username
    • PAT:是指令牌认证,需要提前在Azure DevOps Server中创建令牌,粘贴到这里
      5)运行代理程序
      有两种运行代理程序的模式:交互式和服务运行
  • 交互式运行:是指可以在使用账户登录macOS后,执行下面的指令,运行代理程序
./run.sh
  • 服务运行:是指将代理程序安装成macOS的服务,在系统启动后,代理程序会自动运行,无需用户登录或干预
    下面是安装服务器的指令:
./svc.sh install
./svc.sh start
./svc.sh stop

当代理程序正常运行后,你可以使用浏览器在Azure DevOps Server中看到正在运行的代理程序,并在流水线中使用它实现持续集成和发布。

------------------------------------------------------------

http://www.cnblogs.com/danzhang/  DevOps MVP 张洪君

------------------------------------------------------------

在macOS苹果电脑上安装Azure DevOps Server(TFS)代理相关推荐

  1. Azure DevOps Server (TFS) 代码库Repo管理培训

    Repo是分布式代码库Git中的一个专用词,用于存储和管理开发团队中特定的源代码. 使用Git,可以协调整个团队的代码更改. 即使您只是一个开发人员,版本控制也可以帮助您在修复错误和开发新功能时保持井 ...

  2. Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)

    之前写过一篇博客"探索TFS Git 库文件换行(CRLF)的处理方式",主要是针对TFVC代码库的. 下面这篇文章说明如何在TFS的Git库中处理代码换行的问题. 概述 在Azu ...

  3. 使用WPS Office连接Azure DevOps Server (TFS)

    概述 当我们使用第三方工具与Azure DevOps Server集成时,除了Rest Api接口之外,COM组件也是一种常用的工具,COM组件经常用在office类型的应用软件中,例如Excel和W ...

  4. imac java7下载地址,如何在苹果电脑上安装JAVA开发工具,经验告诉你该这样

    这里给苹果电脑的用户介绍,在哪里下载JAVA SE 开发工具的下载?以及如何安装JDK和验证JAVA安装的版本? 工具/材料 Imac.Macbook Pro.Air JDK安装包 下载JDK 01 ...

  5. 在Ubuntu上安装Azure DevOps self-hosted agent

    Azure DevOps Services是微软公司的产品,其前身是Visual Studio Team Foundation Server.微软公司收购了GitHub之后,现在Azure DevOp ...

  6. 黑苹果安装包(MaxOS)及教程——如何在非苹果电脑上安装MaxOS系统

    安装前说明 相信看到这篇文章的小伙伴们都是和博主一样有一颗不安分的心灵,想要尝试各种不可能,或许你是因为喜欢MaxOS系统但无奈自己是windows系统,想要体验一下MaxOS系统,又或许你是因为想要 ...

  7. Azure DevOps Server(TFS) 客户端分析

    Azure DevOps Server(TFS) 是微软公司的软件协作开发管理平台产品,为软件研发.测试.实施提供全流程的服务.作为一款应用服务器产品,他的客户端是什么,在哪里下载客户端?我们在项目实 ...

  8. 【在苹果电脑上如何安装win 7驱动】

    现在用苹果电脑的人越来越多了,不过之前大家都用惯了微软的系统,苹果有他自己一套的操作系统,不过有些用苹果电脑的用户并用不惯他的 操作系统,想换成win 7 自然也是可以的,win 7的驱动也不一样不过 ...

  9. 苹果电脑 默认安装jdk位置_收藏起来你一定用的上!JDK的安装和配置

    阅读本文你会对JDK的基本概念有更深的了解,学会在Windows上安装和配置JDK,从而为下一步的Java打下基础. 前言 既然打算写JavaSe这部分的系列文章,想要记录的详细一点.因为大一的时候接 ...

  10. win11系统苹果电脑如何安装 Windows11绕过tpm限制在苹果电脑进行安装的步骤方法

    有网友想给苹果电脑mac安装win11双系统,但是遇到了不兼容的问题,受到tpm的限制,不知道能否给苹果电脑安装mac win11?tpm限制绕开方法是什么?下面教下大家mac绕过tpm限制安装win ...

最新文章

  1. 如何找回RAID1丢失的数据
  2. Python带参数复数表示
  3. 相比薪酬,学习效率提升才是创业公司最有价值的报酬
  4. python 基础教程(第二版)
  5. ASP.NET Core 导入导出Excel xlsx 文件
  6. oAuth2.0店铺订单接口,获取单笔交易的详细信息api接口
  7. py爬虫爬取学校通知公告
  8. Linux UDP协议栈中的片段分析 - udp_recvmsg
  9. 微软数据分析服务 - Microsoft Clarity
  10. 【转载】给程序员的圣诞礼物★★秋冬
  11. 详解文件存储空间管理中的位示图法
  12. printf()和sprintf()
  13. 《分布式JAVA应用 基础与实践》 第六章 构建高可用的系统
  14. 工作四年,分享15个对Java 程序员有用的库
  15. 群里关于一个硬件电路的讨论,纹波大导致烧坏主芯片
  16. G711 G729音频编码总结
  17. 游戏开发 unity3d python_游戏研发系列 Unity3D/2D游戏开发从0到1 第2版.pdf
  18. 小米、阿里巴巴、国美、新鸿基、花旗、力拓等公司高管变动
  19. 【机器学习】入门到实战笔记系列 | 西瓜书
  20. 美团-数据仓库高级工程师面试

热门文章

  1. 如何根据手册和图纸,实现输出接线
  2. mysql电脑变卡_win7电脑变得很卡如何修复【图文】
  3. 淘客链接获取解析获取商品id
  4. 普渡机器人荣登深圳南山区政府抗疫展览
  5. 秒懂神经网络并利用一行Python代码建立——代码详细参数思维导图,个人见解,希望可以帮助小白
  6. 8088单板机ROM固件Boot烧写步骤(二)
  7. springboot测试类启动无反应的问题
  8. 2024国防科技大学计算机考研信息汇总
  9. wordpress下载插件,安装失败,无法创建目录问题
  10. POJ 1062 昂贵的婚礼