是否可以将VSTS Build变量直接引用到Xamarin项目代码中?

时间:2017-07-05 15:39:25

标签: xamarin.android azure-pipelines

目前正在探索在VSTS构建变量中配置app secret的选项,然后在xamarin.Android项目中引用构建变量。这甚至可能吗?我知道我们可以使用脚本从构建变量更新项目。但寻找一种简单直接的方法。我们的想法是为不同的构建配置提供不同的应用秘密。

任何人都有这方面的经验吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用构建变量来替换您在Xamarin.android代码中定义的秘密(假设秘密存储在MainActivity.cs中)。

选项1:使用Replace Tokens扩展任务

  • 变量标签中添加变量(例如password),并将值设置为您要在代码中使用的值。
  • 在构建定义中添加替换令牌任务

    根目录:您的MainActivity.cs存储在哪里或父目录。

    目标文件:**\ MainActivity.cs

    空值:password

  • 在您的代码中将密码设置更改为secret="#{password}#";。该任务将使用#{替换部件开头,并以}#结束。

选项2:使用PowerShell任务

假设代码中定义的密码为secret="password";

  • 变量标签中添加变量(例如token),并将值设置为您要替换的值。
  • 在构建定义中添加 PowerShell任务

    键入:内联脚本

    内联脚本:

    $path="$(Build.SourcesDirectory)\project\project\ MainActivity.cs" (Get-Content $path) -replace "password",$(token) | out-file $path

对于MAC,您可以使用shell脚本,如下所示:

cd /to/the/path/the/file/exist find . -type f -name "MainActivity.cs" | xargs sed -i '' 's/password/$(token)/g'