通过bicep将azure devops管道变量传递到Linux OS级别

xtupzzrd  于 2024-01-06  发布在  Linux
关注(0)|答案(1)|浏览(297)

编辑:澄清一下:变量是空的在Linux框中。管道变量按预期工作。
我需要将GUI管道变量- $USER1传递到bicep中同一管道中部署的Linux机器。尝试了自定义脚本扩展,但变量$pat1在shell中为空。如何传递该变量?

  1. resource customScriptExtension 'Microsoft.Compute/virtualMachines/extensions@2023-07-01' = {
  2. parent: virtualMachine
  3. name: 'config-app-linux'
  4. location: location
  5. properties: {
  6. publisher: 'Microsoft.Azure.Extensions'
  7. type: 'CustomScript'
  8. typeHandlerVersion: '2.1'
  9. autoUpgradeMinorVersion: true
  10. settings: {
  11. skipDos2Unix: false
  12. timestamp: 123456789
  13. }
  14. protectedSettings: {
  15. commandtoExecute: 'pat1="$USER1"'
  16. }
  17. }
  18. }

字符串

lymnna71

lymnna711#

要实现你的目标,我认为需要三个部分共同努力来完成
1.**第1部分:**样本。二头肌

  1. param USER1 string
  2. var commandtoExecute = 'pat1=${USER1}'
  3. resource customScriptExtension 'Microsoft.Compute/virtualMachines/extensions@2023-07-01' = {
  4. parent: virtualMachine
  5. name: 'config-app-linux'
  6. location: location
  7. properties: {
  8. publisher: 'Microsoft.Azure.Extensions'
  9. type: 'CustomScript'
  10. typeHandlerVersion: '2.1'
  11. autoUpgradeMinorVersion: true
  12. settings: {
  13. skipDos2Unix: false
  14. timestamp: 123456789
  15. }
  16. protectedSettings: {
  17. commandtoExecute: commandtoExecute
  18. }
  19. }
  20. }

字符串
1.**part 2:**一个运行二头肌的deploy.ps1部署文件

  1. param (
  2. [string]$USER1
  3. )
  4. New-AzResourceGroupDeployment -ResourceGroupName "xxx" -TemplateFile "sample.bicep" -USER1 $USER1


1.第3部分:yaml文件,用于定义要运行的管道,命名为pipeline.yml

  1. parameters:
  2. - name: USER1
  3. type: string
  4. steps:
  5. - task: AzurePowerShell@5
  6. inputs:
  7. azureSubscription: XXX
  8. ScriptType: FilePath
  9. ScriptPath: $(System.DefaultWorkingDirectory)\deploy.ps1
  10. scriptArguments:
  11. -USER1 ${{ parameters.USER1 }}
  12. azurePowerShellVersion: latestVersion


你应该通过一个部署脚本的桥将参数或变量从bicep传递到yaml。
上面的过程只是一个例子,你可能需要做很多细节的修改。

展开查看全部

相关问题