1
3

More than 3 years have passed since last update.

チームメンバー全員が自動デプロイできるようにする方法

Last updated at Posted at 2020-06-14

問題

プログラミングスクールのチーム開発で、最初に自分が自動デプロイ担当になって、チームの中で自分しかcapistranoでの自動デプロイができなかった。

他のメンバーが自動デプロイしようとすると、

Net::SSH::AuthenticationFailed: Authentication failed for user ec2-user@xx.xxx.xxx.xxx

というエラーが出てしまう。

この問題を今日チームで解決できたので、備忘録を書いておこうと思う。

解決方法

  1. 自動デプロイできるメンバーがpemファイルを他のチームメンバーに共有
  2. pemファイルを受け取ったチームメンバーが、pemファイルを~/.sshディレクトリに配置する

1. pemファイルをチームメンバーと共有する

このやり方がわからなくて、チームmtgでもみんなで頭を抱えた。
「pemファイルの共有ってどうやるんだ?」
メンバーのうちの1人がこの記事を見つけてくれた。
https://pc-karuma.net/mac-finder-show-all-files/

最初、pemファイルは、チームのEC2インスタンスを作る時にAWSを操作した自分の「ダウンロード」フォルダに入ってるのかと思ったが、実際はpemファイル隠しファイルに配置されていて見れなくなっていた。
この記事には隠しファイルを表示させるコマンドが書いてあります。
https://pc-karuma.net/mac-finder-show-all-files/

ターミナル
隠しファイルを表示させるコマンド
$ defaults write com.apple.finder AppleShowAllFiles TRUE

設定を反映させるために「Finder」プロセスを終了させる必要があるらしい
$ killall Finder

この2つの操作で隠しファイルにあったpemファイルを見れるようにしてから、メールにpemファイルを添付してメンバーに送った。

pemファイルとは?

pemファイルはいつどの段階で作ったかというと、AWSのEC2インスタンスを作成した時に、「キーペアをダウンロードする」という工程があったと思うが、その時ダウンロードしたファイルこそがpemファイルだ。
キーペアはEC2インスタンスにSSHでログインする際に必要となる「秘密鍵」のこと。

2. 各チームメンバーが、pemファイルを、~/.sshディレクトリに配置する

メールを受け取ったメンバーは送られてきたpemファイルを~/.sshディレクトリに配置した。

その状態で次の自動デプロイのコマンドを実行したら問題なく自動デプロイできた。

# アプリケーションのディレクトリで実行する
$ bundle exec cap production deploy

参考記事

MacのFinderで隠しファイル・隠しフォルダを表示する方法
https://pc-karuma.net/mac-finder-show-all-files/

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3