使用Azure Pipelines时代理脚本一直不成功,根据官方提示,可以使用下方的注册脚本自动执行代理

实际执行过程中,经常是无法执行完成,仔细阅读脚本,发现该脚本一共做了如下几步:

1.下载代理 agentZip压缩包到C盘azagent目录下

2.解压缩agent为Agent1(如果存在序号会一次递增)

3.运行解压后的agent目录种的“config.cmd” 启动配置

4.删除agentzip包

$ErrorActionPreference="Stop";If(-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent() ).IsInRole( [Security.Principal.WindowsBuiltInRole] “Administrator”)){ throw "Run command in an administrator PowerShell prompt"};If($PSVersionTable.PSVersion -lt (New-Object System.Version("3.0"))){ throw "The minimum version of Windows PowerShell that is required by the script (3.0) does not match the currently running version of Windows PowerShell." };If(-NOT (Test-Path $env:SystemDrive\'azagent')){mkdir $env:SystemDrive\'azagent'}; cd $env:SystemDrive\'azagent'; for($i=; $i -lt ; $i++){$destFolder="A"+$i.ToString();if(-NOT (Test-Path ($destFolder))){mkdir $destFolder;cd $destFolder;break;}}; $agentZip="$PWD\agent.zip";$DefaultProxy=[System.Net.WebRequest]::DefaultWebProxy;$securityProtocol=@();$securityProtocol+=[Net.ServicePointManager]::SecurityProtocol;$securityProtocol+=[Net.SecurityProtocolType]::Tls12;[Net.ServicePointManager]::SecurityProtocol=$securityProtocol;$WebClient=New-Object Net.WebClient; $Uri='https://vstsagentpackage.azureedge.net/agent/2.144.2/vsts-agent-win-x64-2.144.2.zip';if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))){$WebClient.Proxy= New-Object Net.WebProxy($DefaultProxy.GetProxy($Uri).OriginalString, $True);}; $WebClient.DownloadFile($Uri, $agentZip);Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory( $agentZip, "$PWD");.\config.cmd --deploymentgroup --deploymentgroupname "DeployGroup" --agent $env:COMPUTERNAME --runasservice --work '_work' --url 'https://dev.azure.com/TestRepo/' --projectname 'WebDemo'; Remove-Item $agentZip;

由于微软官网下载很慢导致第一步就卡住,那我们就直接从官网直接下载压缩包,在脚本中可以直接看到zip包的下载地址,直接下载该文件即可。

第二步:手动解压到C盘azagent目录下的Agent1文件夹中(目录可以自由创建,这里使用的是agent1)

该目录下存在2个cmd,config.cmd用来执行代理参数的配置,run.cmd负责启动agent

第三步:配置代理config参数,这里使用的powshell 需要 .\ 才能运行cmd 喔

 .\config

运行完发现部署组并没有出现该代理,难道配置错误,仔细再阅读原脚本,发现官方脚本中 config后面带了一堆参数,ok 这次全部加上,里面附带了所属部署组和项目名称等参数

.\config.cmd --deploymentgroup --deploymentgroupname "DeployGroup" --agent $env:COMPUTERNAME --runasservice --work '_work' --url 'https://dev.azure.com/TestRepo/' --projectname 'WebDemo'

由于之前已经配置了一次 需要先删除原有的配置再执行(执行 .\config.cmd remove即可),然后再执行上面的脚本即可.

PS C:\azagent\A3> .\config.cmd remove
正在从服务器删除代理
输入 身份验证类型 (对于 PAT 按 Enter) >
输入 个人访问令牌 > ***********************************
正在连接到服务器...
已成功: 正在从服务器删除代理
正在删除 .credentials
已成功: 正在删除 .credentials
正在删除 .agent
已成功: 正在删除 .agent
PS C:\azagent\A3> .\config.cmd --deploymentgroup --deploymentgroupname "DeployGroup" --agent $env:COMPUTERNAME --runasse
rvice --work '_work' --url 'https://dev.azure.com/TestRepo/' --projectname 'WebDemo' >> 连接: 输入 身份验证类型 (对于 PAT 按 Enter) > vwvyzagdtm7nhup
为 身份验证类型 输入一个有效值。
输入 身份验证类型 (对于 PAT 按 Enter) >
输入 个人访问令牌 > ***********************************
正在连接到服务器... >> 注册代理: 正在扫描工具功能。
正在连接到服务器。
输入 代理的部署组标记? (是/否) (对于 N 按 Enter) >
已成功添加代理
正在测试代理连接。
-- ::26Z: 设置已保存。
输入 要用于服务的用户帐户 (对于 NT AUTHORITY\SYSTEM 按
将文件权限授予“NT AUTHORITY\SYSTEM”。
已成功安装服务 vstsagent.TestRepo.iZcdeh6xxtihkjZ
已成功设置服务 vstsagent.TestRepo.iZcdeh6xxtihkjZ 的恢
服务 vstsagent.TestRepo.iZcdeh6xxtihkjZ 已成功设置为延
已成功配置服务 vstsagent.TestRepo.iZcdeh6xxtihkjZ
已成功启动服务 vstsagent.TestRepo.iZcdeh6xxtihkjZ

这次终于看到成功界面了~~~~(>_<)~~~~

Azure devops项目 Deplpoyment Goups菜单中Targets下也终于出现了的该机器信息,状态显示Healthy表示健康可用,后续就可以将项目发布到该机器上了

Azure Pipelines-部署代理问题的更多相关文章

  1. 通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署

    通过 Azure Pipelines 实现持续集成之docker容器化及自动化部署 Intro Azure DevOps Pipeline 现在对于公开的项目完全免费,这对于开源项目来讲无疑是个巨大的 ...

  2. [Azure Devops] 使用 Azure Pipelines 实现 CI

    1. 什么是 Azure Pipelines Azure Pipelines 会自动构建和测试代码项目,以将其提供给其他人.它适用于任何语言或项目类型.Azure Pipelines 结合了持续集成 ...

  3. Python开发入门与实战18-Windows Azure 虚拟机部署

    18. 微软云虚拟机部署 上一章节我们介绍了如何在新浪云部署我们的在python django应用,本章我们来介绍如何Windows Azure上部署我们的应用. 18.1. 注册Windows Az ...

  4. 第16章 使用Squid部署代理缓存服务

    章节概述: 本章节从代理缓存服务的工作原理开始讲起,让读者能够清晰理解正向代理(普通模式.透明模式)与反向代理的作用. 正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低 ...

  5. 在 Windows Azure 上部署预配置 Oracle VM

    Microsoft 和 Oracle 近期宣布建立战略合作伙伴关系,基于此,我们将通过 Windows Azure 镜像库推出多种常用的 Oracle 软件配置.即日起,客户可以在 Windows S ...

  6. China Azure中部署Kubernetes(K8S)集群

    目前China Azure还不支持容器服务(ACS),使用名称"az acs create --orchestrator-type Kubernetes -g zymtest -n kube ...

  7. 在Azure上部署IPv6的App通过IOS App Store审核

    随着中国企业出海Go Global,越来越多的用户开始在Global Azure部署自己的应用.由于对Global Azure功能和文档的不熟悉,使用过程中或多或少遇到了一些坑.事实上呢,这些并不是坑 ...

  8. Windows 上安装 Azure PowerShell及Azure PowerShell部署虚拟机

    一.Azure PowerShell部署   1.使用 PowerShellGet 在 Windows 上安装 Azure PowerShell 从 Azure PowerShell 版本 6.0 开 ...

  9. Azure上部署FTP服务

    FTP是个比较复杂的协议,其协议分为控制层和数据层,工作模式分为主动和被动两种模式. 在默认的Active模式下其工作原理如下: 可以看到,客户端发起FTP的请求道服务器端,FTP的端口是21.用户在 ...

随机推荐

  1. 有了GPRS为什么还要LoRa和NB-IoT?【转】

    转自:https://blog.csdn.net/i_am_Banmei2/article/details/81869724 与其说是GPRS和NB-IoT的比较,不如说是传统网络与新兴网络的比较,我 ...

  2. SQL Server Change Tracking

    1 概述 “更改跟踪”和“变更数据捕获”捕获和记录用户表的DML更改(插入.更新和删除操作),为某些有特殊需求的应用程序服务. 1.1 更改跟踪 更改跟踪捕获表的数据行更改这一行为,但不会捕获更改的具 ...

  3. theos安装详解

    1.安装 Homebrew  安装命令官方网站  https://brew.sh 2.利用 

  4. BsonJavaScript

    BsonJavaScript主要应用于mongodb驱动中 1.进行数据分组 MongoClient client = new MongoClient(host.ConnectionString); ...

  5. Hadoop生态组件Hive,Sqoop安装及Sqoop从HDFS/hive抽取数据到关系型数据库Mysql

    一般Hive依赖关系型数据库Mysql,故先安装Mysql $: yum install mysql-server mysql-client [yum安装] $: /etc/init.d/mysqld ...

  6. hihocoder 1496 寻找最大值

    题解: 注意到$ai$只有$1e6$这件事情肯定要枚举和这个有关的东西 考虑枚举$ai\&aj$的值就可以了 那么这个集合一定是ai,aj的子集 于是我们对每个集合从大到小枚举丢掉一位转移就行 ...

  7. sklearn交叉验证3-【老鱼学sklearn】

    在上一个博文中,我们用learning_curve函数来确定应该拥有多少的训练集能够达到效果,就像一个人进行学习时需要做多少题目就能拥有较好的考试成绩了. 本次我们来看下如何调整学习中的参数,类似一个 ...

  8. P1169 [ZJOI2007]棋盘制作 DP悬线法

    题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8 \times 88×8大小的黑白相间的方阵,对应八八六十四卦,黑白 ...

  9. bool值的底层应用场景

    这里我们的if 或者while,还有and,or,not 等都是在内部调用一个对象的bool方法,然后返回True或者是False, a = [0, ] # a = [] # print(bool(a ...

  10. Servlet(五):请求转发和重定向

    请求转发: 问题: 服务器在接收到浏览器的请求后,仅仅使用一个 Servlet进行请求处理,会造成不同的Servlet逻辑代码 冗余,Servlet的职责不明确. 解决: 使用请求转发. 特点: 一次 ...