Travis -Gcloud 崩溃(AttributeError):“_RSAPrivateKey”对象没有属性 'sign'

Travis -Gcloud crashed (AttributeError): '_RSAPrivateKey' object has no attribute 'sign'

更新


这是travis文件的一部分

 before_install:
      #openssl stuff regarding credentials.tar.gz
       
      - if [ ! -d "${GAE_PYTHONPATH}" ]; then python scripts/fetch_gae_sdk.py $(dirname
        "${GAE_PYTHONPATH}"); fi
      - if [ ! -d $HOME/google-cloud-sdk/bin ]; then rm -rf $HOME/google-cloud-sdk; curl
        https://sdk.cloud.google.com | bash; fi
      - tar -xzf credentials.tar.gz
 - "$HOME/google-cloud-sdk/bin/gcloud  components update"
  -  "pip install -U cryptography"
      - "$HOME/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file travis-credentials.json" # ERROR HAPPENS HERE
#ERROR IS =  Gcloud crashed (AttributeError): '_RSAPrivateKey' object has no attribute 'sign'
      - "$HOME/google-cloud-sdk/bin/gcloud auth configure-docker"

这是我无法理解的。我会假设它是否与 gcloud 的突然版本升级有关并且它与 crpyotgraphy 不兼容那么很多应用程序都会失败并且我的修复尝试会修复它。但这曾经有效,直到我收到上述电子邮件,所以我认为在那封电子邮件之后有些东西搞砸了,但这只是一个疯狂的猜测。

所有 Travis 文件

language: python
python: 2.7
branches:
  only:
    - master
services:
  - docker
cache:
  directories:
    - "$HOME/google-cloud-sdk/"
env:
  - GAE_PYTHONPATH=${HOME}/.cache/google_appengine PATH=$PATH:${HOME}/google-cloud-sdk/bin
    PYTHONPATH=${PYTHONPATH}:${GAE_PYTHONPATH} CLOUDSDK_CORE_DISABLE_PROMPTS=1
before_install:
  #unrelated stuff
  - if [ ! -d "${GAE_PYTHONPATH}" ]; then python scripts/fetch_gae_sdk.py $(dirname
    "${GAE_PYTHONPATH}"); fi
  - if [ ! -d $HOME/google-cloud-sdk/bin ]; then rm -rf $HOME/google-cloud-sdk; curl
    https://sdk.cloud.google.com | bash; fi
  - tar -xzf credentials.tar.gz
 - "$HOME/google-cloud-sdk/bin/gcloud  components update"
  -  "pip install -U cryptography"
  - "$HOME/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file travis-credentials.json"
  - "$HOME/google-cloud-sdk/bin/gcloud auth configure-docker"
install:
  #push image to gcr
script:
  - echo "done"

这里问了同样的问题 但更新密码模块并没有解决问题(我尝试了 3 个不同的版本,从最新的版本到答案中列出的版本 -> 2.6.1)。 3 天前,我收到一封来自 google 的电子邮件,内容如下。

Hello Cloud Shell user,

It's been over 120 days since you opened Cloud Shell from the Google Cloud Platform console. In 7 days, your Cloud Shell home directory will be automatically scheduled for deletion.

To keep your Cloud Shell home directory and its data, just log in and open Cloud Shell.

我打开了 shell 以使其保持激活状态,但是当我尝试使用 travis 部署我的 django 应用程序时,我在尝试执行 gcloud 命令时收到以下错误。

 $HOME/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file travis-credentials.json
ERROR: gcloud crashed (AttributeError): '_RSAPrivateKey' object has no attribute 'sign'

我尝试了 2.6.1、2.8(我以前的版本)、3.4.1(最新版本),但其中 none 有效。关于如何解决这个问题的任何想法?我的最后一次构建是在一个月前,它在没有更改任何配置的情况下成功运行

显然,此问题与我使用的 gcloud 版本有关 using.I 始终获取最新版本(当前为 331.0.0)。虽然不理想,但将 gcloud SDK 降级到 330.0.0 解决了这个问题。

gcloud  components update --version 330.0.0