11

コンテキスト:

Travis-CIによってテストされているリポジトリをオープンソース化しました。Travisは、テスト実行用のビルド通知フックを提供しているため、IRC、Flowdock、Campfire、およびHipChat内で通知を受け取ることができます。これらのフックを構成する.travis.ymlには、公開されている構成ファイルに設定を追加する必要があります。Hipchatの場合、次のようになります。

notifications:
  hipchat: [api token]@[room name]

トークンをプレーンテキストで配置すると、誰もが私のAPIトークンを確認して、チャットルームにアクセス/スパムすることができます。とりわけ、Travisが安全な環境変数を追加したのはそのためです。基本的に、文字列をキーで暗号化し、それらをリポジトリに特別にバインドできるため、Travisは秘密のAPIキーにアクセスできます。

ローカルで行うこと:

gem install travis
travis encrypt github-user/repo MY_SECRET_ENV=super_secret

あなたが入れたもの.travis.yml

secure: <encrypted string here>

問題:

残念ながら、ドキュメントは過度に冗長ではなく、googleは役に立ちません。stackoverflowはまだ役に立ちません。これを機能させることはできません。

これが私の最初の試みです:

travis encrypt github-user/repo HIPCHAT=super_secret

secure: <encrypted string here>
notifications:
  hipchat: <%= ENV['HIPCHAT'] %>@hipchat-room

これはうまくいかないので、私はfreenodeのtravis ircに行きました、そしてそれは彼らが提案したものです

travis encrypt github-user/repo key@hipchat-room

notifications:
  hipchat:
    secure: <encrypted string here>

ご想像のとおり(なぜこの質問をもう一度書くのですか?)、これも機能しません。この問題の解決にご協力いただければ幸いです。どうもありがとうございます

編集:私は自分自身を非常に疑っています。APIキーをトリプルチェックしましたが、機能しています。それはトラビス次第です。

2編集:これはバグのように見えるので、対応するGitHubの問題があります

4

1 に答える 1

4

ステファン、

これを試していただけませんか:

notifications:
  hipchat:
    - secure: "encrypted string"

コミット履歴を乱雑にしたくない場合は、別のブランチにプッシュできます。Travisがそのブランチをテストする必要があります。

-ヘンリック

于 2012-12-14T21:56:01.120 に答える