【问题标题】:Travis doesn't deploy on heroku. Invalid credentialsTravis 没有部署在 heroku 上。无效证件
【发布时间】:2021-03-05 00:06:28
【问题描述】:

我正在尝试使用 travis 在 heroku 上设置自动部署。 travis 尝试部署时出现此错误:

API request failed.

Message: Invalid credentials provided.

Reference: 

failed to deploy

这是我的 travis 文件:

jobs:
  include:
    - language: python
      python:
        - "3.6"    
      install:
        - pip install -r Deployment/requirements.txt
      script:
        - python -c "print ('Testing some script')"
      branches:
      only:
      - master
      - develop
      before_deploy:
        - cd Deployment
      deploy:
        - provider: heroku
          skip_cleanup: true
          api_key:
            secure: b3AVdCtJ2e/+Gu1...
          app:
            master: motorent-deploy
            develop: motorent-apitest

    - language: android
      dist: trusty
      env:
        global:
          - ANDROID_API_LEVEL=29
          - ANDROID_BUILD_TOOLS_VERSION=29.0.3
          - extra-google-google_play_services
          - extra-google-m2repository
          - extra-android-m2repository
          - addon-google_apis-google-$ANDROID_API_LEVEL
      android:
        licenses:
          - 'android-sdk-preview-license-.+'
          - 'android-sdk-license-.+'
          - 'google-gdk-license-.+'
        components:
          - tools
          - platform-tools
          - android-$ANDROID_API_LEVEL
          - build-tools-$ANDROID_BUILD_TOOLS_VERSION
          - extra-google-google_play_services
          - extra-google-m2repository
          - extra-android-m2repository
          - addon-google_apis-google-$ANDROID_API_LEVEL
      addons:
        apt:
          packages:
            ant
      before_install:
          - touch $HOME/.android/repositories.cfg
          - yes | sdkmanager "platforms;android-29"
          - yes | sdkmanager "build-tools;29.0.3"
      before_script:
        - cd AndroidApp
        - chmod +x gradlew
      script:
        - ./gradlew build check 

如您所见,我在同一个存储库中有两个不同的项目,但这并不重要,因为 android 测试运行良好。不工作的是 Flask 项目的部署。我找到的解决方案是关于加密 api_key 的需要。我已经用Travis encrypt $(heroku auth:token) 测试过它,但它也不起作用。

我找错了很久,但不知道是什么问题。

【问题讨论】:

    标签: heroku continuous-integration travis-ci continuous-deployment


    【解决方案1】:

    我有同样的错误。

    这是我为修复它而执行的步骤。

    首先我尝试了命令:heroku auth:token 但输出是:

     ›   Warning: token will expire 06/06/2021
     ›   Use heroku authorizations:create to generate a long-term token
    

    然后我尝试了命令:heroku authorizations:create

    输出中的一行包含Token: <created_heroku_auth_token>

    我接受了它的价值 (<created_heroku_auth_token>) 我去了

    https://travis-ci.org/github/<my_github_user>/<my_repo>/settings

    我在哪里创建了新的环境变量:

    HEROKU_AUTH_TOKEN 的值为我的<created_heroku_auth_token>

    然后在我的 .travis.yml 中,我将 api_key 的值更改为:

    api_key: $HEROKU_AUTH_TOKEN
    

    推送此更改后,部署到 heroku 一切正常。

    【讨论】:

      猜你喜欢
      • 2014-03-30
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 2019-11-19
      • 2018-11-29
      • 1970-01-01
      相关资源
      最近更新 更多