当前位置: 首页 > 知识库问答 >
问题:

Azure DevOps文件转换与保险库机密

阙佐
2023-03-14
trigger:
  branches:
    include:
    - master
    - develop
    - release/*
  paths:
    include:
    - src/ConsumerBackEnd/*
    - src/ConsumerShared/*

variables:
  - name: poolName
    value: 'Private-Windows10'
  - name: azureRegisteredApp
    value: 'portal-devops'
  - name: workingDirectory
    value: '$(System.DefaultWorkingDirectory)/src/ConsumerBackEnd'
  - name: solutionDirectory
    value: '$(System.DefaultWorkingDirectory)/src'

stages:
- stage: Build
  displayName: Build stage

  jobs:
  - job: Build
    displayName: Build
    pool:
      name: $(poolName)
    
    variables:
    - group: ConsumerDevVariableGroup
    - name: 'Graph.GraphAppTenantId'
      value: '**************' #works fine
    - name: 'Graph.GraphAppClientId'
      value: '$[variables.GraphAppClientId]' #should take value from vault but injects null
    
    - task: FileTransform@2
      inputs:
        folderPath: '$(workingDirectory)'
        xmlTransformationRules: 
        jsonTargetFiles: '**/appsettings.json'

    - task: DotNetCoreCLI@2
      displayName: Nuget Restore
      inputs:
        command: 'restore'
        projects: '$(workingDirectory)/*.csproj'
        feedsToUse: 'config'
        nugetConfigPath: '$(solutionDirectory)/NuGet.config'
    
    - task: DotNetCoreCLI@2
      displayName: Build
      inputs:
        command: 'build'
        projects: |
          $(workingDirectory)/ConsumerBackEnd.csproj
        arguments: --output $(System.DefaultWorkingDirectory)/output

    - task: DotNetCoreCLI@2
      displayName: Publish
      inputs:
        command: 'publish'
        publishWebProjects: false
        projects: '$(workingDirectory)/ConsumerBackEnd.csproj'
        arguments: '-c Release -r linux-x64 --self-contained true --output $(System.DefaultWorkingDirectory)/publish_output'
        

#requires approval on pipeline
- stage: DeployDev
  displayName: DeployDev
  dependsOn: Build
  condition: succeeded()
  
  jobs:
    - deployment: DeployConsumerBackendAPIDev
      displayName: DeployConsumerBackendAPIDev
      environment: ConsumerBackendAPIDev
      pool:
        name: $(poolName)

      strategy:
        runOnce:
          deploy:
            steps:
            - task: AzureRmWebAppDeployment@4
              inputs:
                ConnectionType: 'AzureRM'
                azureSubscription: '$(azureRegisteredApp)'
                appType: 'webAppLinux'
                WebAppName: 'my-backend-dev'
                packageForLinux: '$(System.DefaultWorkingDirectory)/publish_output/**/*.zip'
                RuntimeStack: 'DOTNETCORE|LTS --configuration Release'

共有1个答案

公孙阳羽
2023-03-14

使用运行时表达式引用组变量似乎不适用于文件转换任务,但宏语法很好

Microsoft文档没有很好地描述它

以下是应该如何定义它:

variables:
  #secrets
  - group: ConsumerDevVariableGroup
  - name: Graph.GraphAppTenantId
    value: $(GraphAppTenantId) #works fine
  - name: 'Graph.GraphAppClientId'
    value: '$[variables.GraphAppClientId]' #does not work
 类似资料:
  • 我正在测试Vault+Consul之间的集成,以保存我的秘密并将它们存储在多台机器中。我可以看到和插入/检索我的秘密从保险库没有问题。 现在,我正在尝试配置SpringCloud来使用来自Vault的秘密(我浏览了https://cloud.spring.io/spring-cloud-vault/reference/html/),我的bootstrap.yml与示例类似: 而且也管用!我的应用程

  • 问题内容: 有没有一种简单的方法可以在进行测试时模拟Hashicorp保险库? 我在Go中创建了一个可访问保险柜的服务,并希望为其创建适当的测试。 我没有找到我喜欢的简单解决方案(例如python中的moto)。我还尝试在docker中以dev模式使用Vault(采用系统测试路线),但我无法通过API写入文件。想法? 问题答案: 有没有一种简单的方法可以在Go测试中模拟HashiCorp Vaul

  • 我使用ampps作为windows 10 apache服务器,我的php版本是7.3。我从LibreOffice下载页面下载了它,并将其安装在我的计算机上。然后我通过作曲家安装了这个库https://github.com/ncjoes/office-converter.我尝试在给出的例子中,但它不会转换并给出一个错误。如果你能帮助我,我将不胜感激。下面是我的代码示例和我遇到的错误:

  • 我对保险库使用默认令牌身份验证方法。同时在Spring Boot应用程序中集成了vault和spring cloud config server。根令牌有超级用户访问,这使得能够为应用程序读/写机密,但我需要创建一个非根令牌,它只登录到保险库,不读/写任何机密。这样就不会强制使用vault,并且应用程序使用vault启动。当用户特别想使用vault时,可以提供自己的令牌和访问秘密。

  • 我正在考虑在不久的将来在谷歌Kubernetes引擎上部署一个集群。我也一直在研究使用Hashicorp的Vault来管理我的集群可以访问的秘密。具体地说,我想利用动态秘密来提高安全性。 有更多使用Kubernetes和/或Vault经验的人能指出这种方法的任何潜在缺点吗?谢谢你。

  • 我正在运行以下命令:运行vaultQuery contractStateType:com . R3 . corda . lib . accounts . contracts . States . account info 并得到这个错误:无法解析为命令:无法构造实例的,问题:com.r3.corda.lib.accounts.contracts.states.AccountInfo[来源:UNKN