こんにちわ。
最近、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
以上!
- 閲覧数 163
コメントを追加