Circle-ci如何输入密钥库信息以使用自定义密钥库而不是默认密钥库

时间:2016-03-21 11:06:31

标签: android calabash circleci calabash-android

我在CircleCI上集成了calabash-android测试。到目前为止,我所在的地方一直都很好。当我开始在CircleCI上构建测试时获得以下响应

Please enter keystore information to use a custom keystore instead of the default

Please enter keystore location command calabash-android setup took more than 10 minutes since last output.

在下面附加circle.yml文件。

machine:
environment:
  ANDROID_HOME: /usr/local/android-sdk-linux
  JAVA_HOME: /usr/lib/jvm/java-7-openjdk-amd64

ruby:
  version: 2.2.0

#general:
 #   artifacts:
 #      - /home/ubuntu/Latto-Android/app/build/outputs/apk/      

dependencies:
  cache_directories:
  - ~/.android
  - ~/android
override:
  - gem install calabash-android

test:
  pre:
    - emulator -avd circleci-android22 -no-audio -no-window:
      background: true
      parallel: true

override:
  - echo "Running JUnit tests!!!!!!" && ls && pwd
  - circle-android wait-for-boot
  - sleep 5
  # Unlock the emulator device
  - fb-adb shell input keyevent 82
  - sleep 5
  - fb-adb shell input touchscreen swipe 370 735 371 735
  - sleep 5
  - calabash-android setup
  - calabash-android resign "Test-debug-unaligned.apk"
  - calabash-android run "Test-debug-unaligned.apk" -v

我尝试了不同的方法来解决问题,但问题仍然存在。所有的帮助都很受欢迎。

1 个答案:

答案 0 :(得分:0)

将密钥库文件存储在私人保管箱文件夹中。保存链接以将文件下载为环境变量($ KEYSTORE_DOWNLOAD_URL)。在名为download.sh的.circleci文件夹中创建一个shell脚本,如下所示: -

    if [[ ${KEYSTORE_DOWNLOAD_URL} ]] then

        curl -L -o KEYSTORE_FILE_NAME ${KEYSTORE_DOWNLOAD_URL} else
        echo "No keystore Environment variable found" 
    fi

在配置中添加如下步骤: -

sh .circleci/download.sh

我希望这可以帮助你:)