【问题标题】:Travis CI env variables ";" expectedTravis CI 环境变量“;”预期的
【发布时间】:2019-11-17 17:35:21
【问题描述】:

这是我第一次尝试使用 TravisCI 进行 CI/CD。

我正在尝试对其进行设置,以便对我的 API 密钥进行加密。我的机器上有奇怪的 Ruby 问题,所以不能通过终端加密密钥,我需要在存储库设置中定义变量。

  • 我已将我的 API 密钥存储在我的 ~/.gradle/gradle.propertiesLUCKY_COINS_API_KEY= "abcd-1234"

  • 然后我通过 TravisCI 向我的 repo 添加了一个环境变量,名称和值与上面相同,我尝试使用 ';' 添加它和没有。

  • 在我的应用程序 build.gradle 我有以下几行。

    buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField 'String', 'LUCKY_COINS_API_KEY', apiKey()
    }
    debug {
        minifyEnabled true
        buildConfigField 'String', 'LUCKY_COINS_API_KEY', apiKey()
    }
    

    }

    def apiKey() {
    if (project.hasProperty("LUCKY_COINS_API_KEY")) {
        return project.properties["LUCKY_COINS_API_KEY"]
    } else if (System.getenv("LUCKY_COINS_API_KEY") != null) {
        return System.getenv("LUCKY_COINS_API_KEY")
    } else {
        throw Exceptions("Set API Key")
    }
    }
    

所以现在当项目在 CI 上构建时,它可以访问 API 密钥,因为 TravisCI 无法从我的本地主页 gradle.properties 中提取值。问题是我收到以下错误:

全部位于远程BuildConfig.java

e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: ';' expected
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                    ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: <identifier> expected
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                           ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: <identifier> expected
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                                ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: illegal start of type
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                                 ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: <identifier> expected
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                                   ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: ';' expected
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                                     ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: illegal start of type
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                                      ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: <identifier> expected
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                                          ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: ';' expected
  public static final String LUCKY_COINS_API_KEY = [secure];
                                                                           ^
e: /home/travis/build/accountName/Lucky-Coins/app/build/generated/source/buildConfig/debug/com/example/luckycoins/BuildConfig.java:14: error: <identifier> expected
  public static final String LUCKY_COINS_API_KEY = [secure];

我无法访问此文件,因此在调试时遇到了问题。

【问题讨论】:

    标签: android continuous-integration environment-variables travis-ci


    【解决方案1】:

    如果要将字符串添加为存储库变量,则必须转义引号。..

    所以一定要把“\”API_KEY_HERE\“”

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      相关资源
      最近更新 更多