Travis上でSSH deployする

いつもググって忘れるのでメモ。

やりたいこと

Travis でデプロイスクリプトを走らせる時に、VMSSHログインして何かする、というのをやりたい。そのために暗号化した SSH キーを git 管理下において、Travis 上でのみそれが使えるようにする。

やること

以下の記事をいつも参考にしているので、コマンド部分をコピペする。

SSH秘密鍵を作って travis コマンドで暗号化し、暗号化した deploy_rsa.enc は git 管理する。SSH公開鍵はデプロイ先のホストに登録しておく。

$ ssh-keygen -t rsa -b 4096 -C 'build@travis-ci.org' -f deploy_rsa
$ travis encrypt-file deploy_rsa --add
$ ssh-copy-id -i deploy_rsa.pub <ssh-user>@<deploy-host>

$ rm -f deploy_rsa deploy_rsa.pub
$ git add deploy_rsa.enc

あとは、.travis.yml にデプロイスクリプトを書けばオッケ。