コンテキスト:
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の問題があります