• 在macOS苹果电脑上安装Azure DevOps Server(TFS)代理


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

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

  • 相关阅读:
    Flink流处理(一)- 状态流处理简介
    YARN High Availablity
    把数组转换成sql中能使用的字符串
    StringUtils中 isNotEmpty 和isNotBlank的区别
    SQL的四种连接-左外连接、右外连接、内连接、全连接
    JS判断输入是否为整数的正则表达式
    Java构造和解析Json数据的两种方法详解二
    JSON详解
    Java构造和解析Json数据的两种方法详解一
    详细讲解JAVA中的IO流
  • 原文地址:https://www.cnblogs.com/danzhang/p/11954476.html
Copyright © 2020-2023  润新知