Jenkins管道可更改appssettings.json文件并根据环境进行构建

时间:2019-02-28 01:08:57

标签: jenkins

我有一个构建控制台应用程序的要求,但是我需要根据环境更改appssettings.json文件中的某些值,然后构建它。我是詹金斯的新手,想知道如何实现这一目标。

对于dev更改json文件中的值并进行构建->对于测试,再次更改json值并进行构建->直到生产

1 个答案:

答案 0 :(得分:0)

例如,这可以通过多种方式来完成(它们之间的共同思想是检查传入的分支):

  

您可能会找到更好的方法,但是可以以此作为开始。

  • 通过bash步骤使用jqspongesh

    1. 创建一个json文件作为如下模板(考虑将此文件保留在版本控制中以克隆每个版本)

      # settings.json
      {
        environment: 'ENVIRONMENT_NAME',
        appVersion: 'APP_VERSION'
      }
      
    2. 通过if条件检查分支名称值,并根据分支值更新模板

      jq '.environment = "branch_name"' settings.json|sponge settings.json
      
    3. 在应用程序的代码中使用自定义的settings.json
  • 使用Config File Provider Plugin,它可以在Jenkins管道内按以下方式使用(也根据分支名称进行更新)

    configFileProvider([configFile(fileId: 'FILE_ID', targetLocation: 'FILE_LOCATION')]) {}
    
  • 检查应用程序框架是否可以使用环境变量。