小编kra*_*lax的帖子

地形切换?

我有一个关于 Terraform 的问题。

我已经设置了一些文件,并且可以在 vSphere 上使用它很好地创建虚拟机。但在现在的公司:

  • 我们有两个可以部署 VM 的集群
  • 我们还有两个可以加入 VM 的 AD 域

我已经编写了几段代码,并且运行良好,但问题是每次我想从这段代码部署 VM 到 clusterA(网络为 1.2.3.4/24)时,网关为1.2.3.1等等,然后我将它们作为默认值放入代码中。然后,当我部署到 clusterB 时,我需要更新所有这些变量,例如。网络为 1.2.4.4/24,网关为 1.2.4.1,依此类推。能否以某种方式引入开关逻辑,例如:

  • 如果变量(从控制台读取,类似于 PS-s Read-Host)是“foo”,则使用此集合或变量。如果该变量是“bar”,请使用一组不同的变量。如果用户输入的变量既不是“foo”也不是“bar”,那么会抛出错误吗?

我知道这不是最好的方法,而且由于我更精通 PowerShell,如果 Terraform 不支持 switch 语句(或者我红色),我最终会做一个解决方法(编写一个需要模板文件的 PS 脚本) ,进行切换,并根据用户的选择在运行 terraform plan / apply 之前替换模板文件中的变量),但我更愿意将所有内容保留在 Terraform 中...

我的起始代码在这里(抱歉有很多评论,它是为了给更初级/不熟悉 TF 团队成员的,所以需要啰嗦......): https: //code.prkr.li/ 4W4RsYTEm3

举个例子:

    variable "vm_to_clone" {
  description = "Enter the name of the vM that we will clone:"
  # ! THIS IS THE VM THAT YOU ARE CLONING 
  # * changeme ->
  # default …
Run Code Online (Sandbox Code Playgroud)

terraform

5
推荐指数
1
解决办法
1万
查看次数

Gitversion 无法获取 JSON 数据

我正在开发一个基于此存储库的项目

(我会问有关它的问题,但它很陈旧......)

我正在尝试执行任务,创建管道,但在此步骤中失败:

          - pwsh: |
              dotnet tool install --global GitVersion.Tool

              Write-Output ">>>>>>>>>>>>>>>>"
              dotnet-gitversion
              Write-Output "<<<<<<<<<<<<<<<<"

              $gitVersionObject = dotnet-gitversion | ConvertFrom-Json
              $gitVersionObject.PSObject.Properties.ForEach{
                  Write-Host -Object "Setting Task Variable '$($_.Name)' with value '$($_.Value)'."
                  Write-Host -Object "##vso[task.setvariable variable=$($_.Name);]$($_.Value)"
              }
              Write-Host -Object "##vso[build.updatebuildnumber]$($gitVersionObject.FullSemVer)"
            displayName: Calculate ModuleVersion (GitVersion)
Run Code Online (Sandbox Code Playgroud)

我发现这是 gitversion 的问题(也尝试了 AZ 任务中的 gitversion 任务)


  INFO [09/23/22 11:30:47:90] HEAD points at branch 'refs/heads/gitversion-v5'.
  INFO [09/23/22 11:30:47:90] End: Normalizing git directory for branch 'refs/heads/gitversion-v5' (Took: 90.63ms)
  INFO [09/23/22 11:30:47:91] Begin: Loading version variables from disk …
Run Code Online (Sandbox Code Playgroud)

json gitversion azure-devops powershell-core

2
推荐指数
1
解决办法
1283
查看次数