1

私が構築しているアプリケーションはサードパーティのAPIと統合しています。このapiにアクセスするには、証明書ファイルを必要とするRSA-SHA1署名方式を使用してoauthを使用して認証します。CI(Codeship)からHerokuに秘密の証明書ファイルを展開する

アプリは、コードシップを使ってheroku(php)に引き続き展開されます。

さまざまな理由で証明書をソース管理にチェックしたくないのですが、アプリケーションがデプロイされるたびに証明書を本番dynoにコピーする方法が必要です。これは、Heroku dynosがステートレスなので、アプリがデプロイされるときに元に戻ります(私が理解したように)。

この証明書を自分のdynoにコピーする最も良い方法は何ですか?私はこのようなコマンドを使用するのではと思ったが、それは動作しない:

heroku run "echo \"${CERTDATA}\" > ./storage/certs/my_cert.pem" 

それは常に利用できるようになるので、私はCodeship上の環境変数に実際の証明書データを格納することができます。

また、Codeshipで証明書ファイルを作成し、それを強制的にHerokuへのgitデプロイメントに追加することもできます。誰もここに指導を与えることができますか?

答えて

0

実際の証明書データをHerokuのenv varに格納するだけではどうですか。

+0

私は 'private_key.pem'ファイルとして証明書を持っていると仮定し、それを[openssl_pkey_get_private()'](http://php.net/manual/en/function)のような環境変数としてどのように保存しますか? openssl-pkey-get-private.php)はそれを読むことができますか? – harryg

+1

私が使った解決策は、cert64の内容をbase64でエンコードすることでした(env変数として保存することができます)。そして、base64でoauthライブラリで使用するためにそれをデコードします。 – harryg

関連する問題