Acquia CLIを使ってDBデータをローカル開発環境からクラウド環境にデプロイする際に、rsyncのエラーが出る問題の対応

  •  
 
ナカちゃん に投稿

こんにちわ。
最近、Acquia Cloud Platformに手を出しているナカチャンです。
すんごい便利ですよねコレ。

公式さんが出してくださっているセミナー動画
https://www.youtube.com/watch?v=_9uq8Wl8YcA
をみて、自前のローカル環境を構築したのですが、いざローカルからクラウド上の環境(dev環境に)DBデータをデプロイしようとするとエラーが出てうまくできなかったので、その際の対応を備忘録として記載しておきます。

以下、前提です。

  • Aquia Cloud側で既にアプリケーションを作成済み、Drupalインストール済み
  • Aquia Cloud側でSSHの公開鍵を設定済み。
  • ローカル環境にlandoインストール済み
  • アプリケーション(というかdev環境)のコードをローカルにgit clone済み

 

で、以下のようにDBのデータをクラウドのdevにデプロイしようとしました。

lando acli push:database yourapp.dev 

そうすると次のようにエラーが出て、うまくいきませんでした。
ダンプファイルをrsyncでクラウドにアップしようとして、コケてました。
 

 Creating local database dump
 Uploading database dump to remote machine...
  rsync error: unexplained error (code 255) at io.c(228) [sender=3.2.3]
In PushDatabaseCommand.php line 93:
 Could not upload local database dump:

エラーコード的にはsshで何か問題が起きているようだったので、改めて鍵ファイルを生成

ssh-keygen -b 4096

して、
id_rsaとid_rsa.pubを作り直した上で公開鍵をacquia cloudに再登録することで、うまくいきました。
鍵ファイルの名前についてはデフォルトのid_rsaとしておくのが得策だと思います。
自分は当初、別名で作って使ってました。
ちなみにですが、-bオプションでbit数を4096以上にしておかないと、acquia cloudが受けつけてくれませんのでご注意を。

ちなみにちなみにですが、git cloneやpushにもsshの鍵ファイルが必要なので、sshのコンフィグファイルに以下を追記しています。
(これがないと鍵ファイル名をid_rsaとしてもうまく行きませんでした)

Host svn-XXXX.devcloud.hosting.acquia.com
 HostName svn-XXXX.devcloud.hosting.acquia.com
 User yourapp
 IdentityFile /****/.ssh/id_rsa 

Host,HostNmaeとUserについてはaquia cloudが提示しているgitのURLから転記して下さい。
URLはyourapp@svn-XXXX.devcloud.hosting.acquia.com:yourapp.gitなどとなっていると思います。
IdentityFileには生成した鍵ファイルのパスを指定してください。

また、上記のようにconfigファイル書き換えるのが嫌だなって場合はgitのオプションを利用しても良いと思います

git -c core.sshCommand="ssh -i /***/.ssh/id_rsa -F /dev/null" clone yourapp@svn-xxxx.devcloud.hosting.acquia.com:yourapp.git

 

以上!

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。