前提・実現したいこと
BitbucketのPipelineでPushを検知して
git-ftpを利用して、自動でさくらのレンタルサーバにデプロイしたい
経緯
リファレンスを確認しながら、試行錯誤したものの
『接続ができない』『認証ができない』といったのエラーに見舞われて困っております。
- はじめはFTPプロトコルで、ユーザ名とIDでの接続を試みていたのですが
→ 『接続ができない』
- SFTPプロトコルでも試そうと、リポジトリの設定からSSH keyを発行して、
さくらサーバの.ssh/authorized_keys
に公開鍵を追記して、bitbucket-pipelines.yml
を書き直して、再実行
→ 『認証ができない』
試しにHetemlのサーバでFTPプロトコルの接続を試したところ問題なく実現できたのですが、
さくらサーバでは仕様上利用できないのか…?というところで、だいぶはまっています。
発生している問題・エラーメッセージ
FTPプロトコルで試用したエラー
< 331 Password required for {Account} > PASS $FTP_PASSWORD -#O#- # # * response reading failed -=#=# # # * Closing connection 0 curl: (56) response reading failed fatal: Can't access remote 'ftp://{ID}:{PW}@{Account}.sakura.ne.jp', exiting...
SFTPプロトコルで試用したエラー
* SSH MD5 fingerprint: {**********} -=O=# # # # * SSH authentication methods available: publickey,password * Using SSH private key file '/root/.ssh/id_rsa' * SSH public key authentication failed: Unable to extract public key from private key file: Method unimplemented in libgcrypt backend -=O=-# # # # * Failure connecting to agent * Authentication failure -=O=- # # # # * Closing connection 0 curl: (67) Authentication failure fatal: Can't access remote 'sftp://{ID}:{PW}@{Account}.sakura.ne.jp', exiting...
該当のソースコードbitbucket-pipelines.yml
FTPのときにはgit-ftp.keyの設定などを不要な部分を削って実行しました。
yml
1image: samueldebruyn/debian-git 2 3pipelines: 4 branches: 5 master: 6 - step: 7 script: 8 - echo "Pipeline Init" 9 - apt-get update 10 - apt-get -qq install git-ftp 11 - echo "Initiating Push" 12 - git config git-ftp.url sftp://{ host } 13 - git config git-ftp.remote-root home/{ account }/www/{ target dir path } 14 - git config git-ftp.syncroot { target dir path } 15 - git config git-ftp.user $FTP_USERNAME # Repository variables 16 - git config git-ftp.password $FTP_PASSWORD # Repository variables 17 - git config git-ftp.key "/root/.ssh/id_rsa" # SSH keys 18 - git config git-ftp.insecure 1 19 - git ftp init -vv 20 - echo "Done Pushing"
お願い
どなたかこういったケースで、解決方法ご存じの方いらっしゃらないでしょうか。
何卒、よろしくお願いします!!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。