テストサーバーにすべてをプッシュするシェルスクリプトを実行するようにTeamCityを設定しようとしています。
ビルドプロセスは次のようになります。
- GitHubからすべてのコードを取得します。
- UnitTestsを実行してビルドします
- gitを使用してテストサーバー(amazon ec2)にプッシュするシェルスクリプト
ここでの問題は、シェルスクリプトがTCによって実行されている場合、テストサーバーにプッシュすることが許可されていないことです。
「許可が拒否されました(公開鍵)」というメッセージが表示されます。
シェルからスクリプトを実行するときに同じ問題が発生しましたが、ssh-addを使用してユーザー(TCを実行する同じユーザー)にキーを追加することでスクリプトを機能させました。
したがって、スクリプトを手動で実行できますが、TCにスクリプトを実行させたいと思います。
シェルスクリプトの実行にTCとの違いがあるのか、サーバー上のシェルにあるのかを知っている人はいますか?
..fredrik