Azure Devops中的variable group建议或者只能(?)添加string类型的value。基于此我们想在variable group实现array或者hashtable的传递的核心思路就是先定义出合适易转换的字符串,

然后将字符串转为我们想要的array和hashtable。为了测试,我在的variable group中预先添加了arraystring 和 hashstring,一定要注意我设置的方法,value值格式会影响整个过程。

利用rest api 去get一下值,我们可以得到如下:

PS C:\Users\wenbo> $group.variables

arraystring                 hashstring
----------- ----------
@{value=wbubuntu,wbubuntu2} @{value=@{"key"="value";"key2"="value2"}}

我们看下类型:

PS C:\Users\wenbo> $group.variables.arraystring.value.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ---- --------
True True String System.Object PS C:\Users\wenbo> $group.variables.hashstring.value.GetType() IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object

两个都是string,在做参数传递的时候,我们希望值是array和hashtable

1.转array string,此处的转换方法和你写的value值有关系,自己对应即可

PS C:\Users\wenbo> $array = $group.variables.arraystring.value.Split(",")

PS C:\Users\wenbo> $array
wbubuntu
wbubuntu2 PS C:\Users\wenbo> $array.GetType() IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array

2.转hashtable

PS C:\Users\wenbo> $hash = Invoke-Expression $group.variables.hashstring.value

PS C:\Users\wenbo> $hash

Name                           Value
---- -----
key value
key2 value2 PS C:\Users\wenbo> $hash.GetType() IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Hashtable System.Object

Azure DevOps的variable group实现array和hashtable参数的传递的更多相关文章

  1. Azure DevOps 利用rest api设置variable group

    我们在Azure DevOps中设置参数的时候,可以使用build,release各自的variables,但是各自的变量不能共用.此时我们需要使用variable group,它允许跨Build和R ...

  2. Azure Terraform(七)利用Azure DevOps 实现自动化部署基础资源(补充)

    一,引言 之前一篇文章有讲解到利用 利用Azure DevOps 实现自动化部署基础资源,当时 TF 代码没有针对 Azure 各个资源的封装,所有的资源代码全部写在一个 main.tf 文件中.然后 ...

  3. Azure DevOps(二)利用Azure DevOps Pipeline 构建基础设施资源

    一,引言 上一篇文章记录了利用 Azure DevOps 跨云进行构建 Docker images,并且将构建好的 Docker Images 推送到 AWS 的 ECR 中.今天我们继续讲解 Azu ...

  4. [Azure DevOps] 编译时自动修改版本号

    1. 需求 在使用 Pipeline 自动化 CI/CD 流程的过程中,我还还需要自动修改程序集的版本号.这个功能 EdiWang 和LeoLaw 都写文章讲解过做法.不过我的项目基本都是 .Net ...

  5. Azure Terraform(九)利用 Azure DevOps Pipeline 的审批来控制流程发布

    一,引言 Azure Pipeline 管道是一个自动化过程:但是往往我们由于某种原因,需要在多个阶段之前获得批准之后再继续下一步流程,所以我们可以向Azure Pipeline 管道添加审批!批准流 ...

  6. Azure Terraform(十)利用 Azure DevOps 的条件语句选择发布环境

    一,引言 之前我讲过的所有的案例中,都是将整个Azure Resource 部署到同一个订阅下,没有做到灵活的在 Azure Pipeline 在运行前选择需要部署的环境.在实际的项目开发中,我们也会 ...

  7. Azure Terraform(十一)Azure DevOps Pipeline 内的动态临时变量的使用

    思路浅析 在我们分析的 Azure Terraform 系列文中有介绍到关于 Terraform 的状态文件远程存储的问题,我们在  Azure DevOps Pipeline 的 Task Job ...

  8. Azure Devops/Tfs 编译的时候自动修改版本号

    看到阿迪王那边出品了一个基于Azure Devops自增版本号  链接 http://edi.wang/post/2019/3/1/incremental-build-number-for-net-c ...

  9. 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化

    介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...

随机推荐

  1. 聊聊rocketmq的sendBatchMessage

    序 本文主要研究一下rocketmq的sendBatchMessage SendMessageRequestHeader rocketmq-all-4.6.0-source-release/commo ...

  2. CF C. Vladik and fractions——构造题

    题目 构造一组 $x, y, z$,使得对于给定的 $n$,满足 $\frac{1}{x}  + \frac{1}{y} + \frac{1}{z} =  \frac{2}{n}$. 分析: 样例二已 ...

  3. 突然萌发关于 redis 的想法(1)

    本来昨天就打算写这篇了,但是熬到忘了,至于为什么要写这个是因为我昨天在写 redis 的时候突然想到的 注:此篇文章并没有讲解 redis 内部的使用 或 如何使用redis写代码,等等..仅仅只是突 ...

  4. 简单聊一下对MySQL索引的理解?

    一.索引是什么? 索引是帮助MySQL高效获取数据的数据结构. 二.索引能干什么? 索引非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要. 索引能够轻易将查询性能提高好几个数量级, ...

  5. [Dart] final vs const

    void main() { ; print(a); ; print(b); final c = 'Hello'; // c = 'Hello again'; // Uncomment to throw ...

  6. 使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础

    什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 动态网页的特点? (1).交互性:即网页会根据用户的要求和选择而动态改变和响应.采用动态网页技 ...

  7. 怎样运行jar包中的文件

    1. 2.编辑sysmodule.cmd文件 java -cp sysmodule.jar;classes12.jar;mysql-connector-java-5.0.3-bin.jar;jbcl. ...

  8. 使用webuploader实现大文件上传

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...

  9. JSP+Oracle实现分页功能

    Oracle: create table load( id char(200) not null, title varchar2(100) not null, time varchar2(100) n ...

  10. CSPS2019游(tuifei)记

    %%%脸哥没脸%%% Day0,日常考前紧张,做不下题去.听各大主任送祝福(从里红(wa)到外) 然后就出发了,大巴上和云力一起坐,吃了好多东西.中午因不满火车站的不合理收费,选择了面包+火腿 下午在 ...