为TFS配置跨平台的生成服务器Xplat (Ubuntu Linux)
1. 概述
从TFS 2015开始,微软开始支持跨平台的构建代理。你可以使用TFS的Xplat代理,方便的在基于IOS, Unix和Linux的服务器上搭建生成代理,实现构建、发布等功能。本文档已Ubuntu为例,指导如何安装和运行Xplat代理。
2. 配置TFS的基本登陆模式(Basic)

Figure 1

Figure 2
3. 安装default JDK
Table 1 – on Ubuntu
|
Sudo apt-get update Sudo agt-get install default-jdk |
4. 配置JAVA_HOME
Table 2 – on Ubuntu
|
//获取java安装路径 sudo update-alternatives --config java //系统返回的字符中的“ /usr/lib/jvm/java-7-openjdk-amd64”就是java的安装目录 //打开环境变量文件 sudo nano /etc/environment //在PATH下面添加一行 JAVA_HOME= /usr/lib/jvm/java-7-openjdk-amd64” //按键Ctrl+X保存退出 //重现加载环境变量 source /etc/environment //查询环境变量是否已经生效 echo $JAVA_HOME |
5. 安装和配置Xplat代理
在TFS服务器中配置生成账户(tfsbuild)的权限

Figure 3

Figure 4
将生成账户添加到团队项目集合的生成账户成员中:

Figure 5
|
sudo curl -skSL http://aka.ms/xplatagent | bash |

Figure 6 – 注意使用生成账户tfsbuild

Figure 7
6. 配置生成(验证)
创建一个简单的bash文件(HelloWorld.sh),并上传到源代码库中,文件的内容为:
|
Echo $PATH |
新建一个生成定义,并添加Shell Script任务,如下图:

Figure 8 – 路径填写文件与代码根目录的相对路径
运行一个新的生成,可以看到系统返回代理服务器的环境变量PATH的内容,如下图:

Figure 9
7. 常见问题
安装xplat agent失败

Figure 10
解决方案:
|
//安装unzip软件包 sudo apt-get install unzip |
TF was not found
参考上面的方法,将tf所在的目录” /home/danzhang/myagent/TEE-CLC-14.0.2”添加到系统环境变量PATH后面,注意使用冒号”:”隔开。
在运行下面的命令同意TEE的使用协议:
|
tf eula |
如何以服务的方式运行代理服务器?
在测试环境中可以使用交互的方式运行生成代理服务器,但是在生产环境中,应该以服务的方式运行代码服务器。
可惜目前对于Linux操作系统暂无解决方案。
如何在Putty中使用证书登录Linux服务器
使用PuttyGen.exe生成证书
如果通过安装程序安装了Putty,PuttyGen.exe已经安装在系统中。

Figure 11 – 点击Generate,晃动鼠标,直至进度条停止
点击”Save private Key”保存私钥。
将公钥上传到Linux的个人账户目录中
使用Putty的用户密码模式连接Linux
|
cd .ssh cat >> ~/.ssh/authorized_keys //将公钥粘贴到这里,然后按键”Ctrl + D”,保存公钥 |
注意:如果丢失了公钥,可以在PuttyGen.exe中使用Load的按钮,从私钥中获取公钥
在Putty中配置私钥
打开putty,在 Connection -> SSH -> Auth 的Private key file for authentication 选项处选择刚刚保存的私钥文件。

Figure 12
在 Connection -> Data -> Auto-login username 处填入登录的需要的用户名之后再次登录就可以使用证书登录全自动登录了。

Figure 13
http://www.cnblogs.com/danzhang/ ALM MVP 张洪君
为TFS配置跨平台的生成服务器Xplat (Ubuntu Linux)的更多相关文章
- 配置域主DNS服务器
一.DNS服务器的类型 ①Primary DNS Server(Master) 一个域的主服务器保存着该域的zone配置文件,该域所有的配置.更改都是在该服务器上进行,本篇随笔要讲解的也是如何配置一个 ...
- 阿里云服务器 ECS Ubuntu系统安装配置
1. 登陆服务器 系统开通成功后手机会收到阿里云发来的短信,包含公网IP及root登录密码. WEB管理后台方式 可通过阿里云管理后台选择“连接管理终端…”进行登录 提示输入VNC密码 登录成功后显示 ...
- 配置SQL Server 2008服务器
怎么配置SQL Server 2008服务器_百度经验 http://jingyan.baidu.com/article/9faa7231a922c1473c28cb23.html 1.验证安装是否成 ...
- SVN的基本原理 配置自动更新WEB服务器
SVN的基本原理 配置自动更新WEB服务器 最近有个小项目,需要用SVN来进行版本控制.项目组的同僚有8个人,大家都在本地开发,然后提交到服务器——服务器就是其中一台机器.专门安排一个测试员来进行项目 ...
- .Net Core 跨平台开发实战-服务器缓存:本地缓存、分布式缓存、自定义缓存
.Net Core 跨平台开发实战-服务器缓存:本地缓存.分布式缓存.自定义缓存 1.概述 系统性能优化的第一步就是使用缓存!什么是缓存?缓存是一种效果,就是把数据结果存在某个介质中,下次直接重用.根 ...
- Visual Studio中没有为此解决方案配置选中要生成的项目
问题: Visual Studio点击"生成解决方案"时,出现"没有为此解决方案配置选中要生成的项目". 解决方法: 菜单->生成->配置管理器-& ...
- 一个简单的零配置命令行HTTP服务器
http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 安装 (全局安装加 -g) ...
- Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...
- 一个简单的零配置命令行HTTP服务器 - http-server (nodeJs)
http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 安装 (全局安装加 -g) ...
随机推荐
- 3. Node.js REPL(交互式解释器)
1. 双击安装完成的Node.js 或者在 cmd 中 执行"node" 可以启动node 的终端. 2. 在node终端中可以输入一些javascript语法, 例如: > ...
- asp.net mvc 4 json大数据异常 提示JSON字符长度超出限制的异常
今天客户突然过来找我说在后台添加了一篇超长的文章后,所有后台的文章都显示不出来了.后台的前端显示是用easyui的,返回的数据全是用json.根据客户的描述进行了同样的操作后,在firebug下发现a ...
- 取值:webconfig中的key
String rootUrl = System.Configuration.ConfigurationManager.AppSettings["SiteDomain"].ToStr ...
- ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案
在 ActiveReports 中可以通过矩阵控件非常方便的实现交叉报表,同时还可以设置数据的分组.排序.过滤.小计.合计等操作,可以满足您报表的智能数据分析等需求.在矩阵控件中组的行数和列数由每个行 ...
- 数据库设计==>>MySchool
1.数据库设计的步骤 第一步:需求分析(收集信息) 第二步:绘制 E-R 图 (标示实体 ,找到实体的属性 第三步:将 E-R 图转换成数据库模型图 第四步:将数据库模型图转换成数据表 2.如何绘制 ...
- Eclipse下Android开发的问题:Failed to install AndroidPhone.apk on device 'emulator-5554': timeout 解决办法
在window->preferences->Android->DDMS->ADB connection time out (ms): 将这个值设置的大一些,默认为5000,我设 ...
- SQL Server的各种表
以下表格简便易懂 请认真仔细斟酌! 字符串函数: 字符串函数用于对字符串数据进行处理,并返回一个字符串或者数字. 函数名 描述 例子 CHARINDEX 用来寻找一个指定的字符串在另一个字符串中的起始 ...
- App开发流程之配置Info.plist文件
Info.plist文件控制应用的全局配置,例如bundle name,display name. 先来看一下默认创建的Info.plist文件 右键左侧的Info.plist文件,可以open as ...
- C语言-06-复杂数据类型
一.数组 1> 数组的定义和初始化 定义 ① 数组定义了同种类型数据的集合 ② 定义数组时,数组必须有固定的长度 初始化 ① 如果在定义数组时,初始化数组,数组元素的个数必须是常量 ② 如果不在 ...
- IOS开发之网络编程--文件压缩和解压缩
前言: QQ表情包就用到了解压缩,从网络下载的那么多表情文件格式并不是一个一个图片文件,而是多个图片压缩而成的表情压缩包.下面介绍的是iOS开发中会用到的压缩和解压缩的第三方框架的使用. 注意: 这个 ...