前提
Githubにリポジトリがあって中身が入っている。(1コミット以上ある)
terminalは操作できる
gitを使わなければアップロードしてサーバーで稼動できる。
Git対象にしたいフォルダを空にする
まず、サーバー側のGit管理対象にしたいフォルダを空にします。
一つでも残っているとcloneできないみたいです。
先に消すようにエラーが出ました。
Githubからクローンする
Githubにログインして自分のアプリのページにいき、下の [Clone or download]ボタンをおす。
そうするとクローンのためのアドレスがコピーできるので
sshでサーバーにログインしてwww以下のさっき空にしたか新しく作ったフォルダにcdで移動して
git clone https://[さっきGithubでコピーしたアドレスを貼り付ける]
(2019/11/14追記)
セキュリティを気にしないならwwwディレクトリの中でやると簡単です。
私も今はそうです。
ただし本来は他のディレクトリに作って、publicフォルダだけシンボリックリンクでwwwから見れるようにするのが手順らしいので、自分用でなく、業務案件ではそうしてください。業務なら普通手順書があるとは思いますが。
この時点でブラウザでアクセスしてみると500エラーになる、404でなければ進んでいるはずなのでまだ焦らない。
まず、プロジェクト内のvendorフォルダがコピーされていないので、これをFTPソフトかscpコマンドかで手動でサーバーにアップロードする。(非常にサイズが大きく時間がかかる)
このフォルダはgit_ignonreに設定されているのでpushしても無視されているそうです。
venorフォルダを.git_ignoreに設定されているので該当箇所の前に!マークをつけて打ち消してからコミットするとpushできます。というか先にそうしておけば一回で済みそう。
あと、
envファイルの設定が必要なので以下のページをみて作る。
https://laraweb.net/environment/3192/
作れたら
php artisan key:generate
(2019/11/14 追記)
composerでLaravelを生成した場合、自動でAppkeyが入っているので、そのenv.を使用する場合は必要ないとの事です。空のサンプルからコピーした時は上記手順が必要。
DBを使っていないページだとこの時点で表示できると思います。多分。
筆者はMySQLを使っていたのでここでDBエラー。
このへんの対応は私の前回のページに書いているのでコケた人は下もみてみてください。
https://qiita.com/misskabu/items/e120098a8bc2a8aedadc
GithubからサーバーにPullする
本当は直接ローカルからgithubと一緒にさくらサーバーにもpushしたかったのですが、
さっきさくらサーバーにクローンしたgitアドレスがわからなかったため設定できませんでした。
私と同じようにわからない人はgithubからpullすれば一応使えます。
この場合sshでさくらサーバー側のgitディレクトリへ行って(というか初めからターミナル開けたままだと思うので普通今そこにいると思いますが)
git pull [さっきGithubでコピーしたアドレスをまた貼り付ける]
ユーザー名とパスワードを聞かれますが、これはgithubのログインパスワードを入力します。
これで更新した差分が取れました。
今回できなかったままのこと。
自動でpullできるようにしたかったのですが、その場合さくら側のgitのフルパスを入れる必要があります。
それさえわかればwebhookというので自動化できるようです。
githubのパスワードも省略できそう。
以下のベージ参照。
https://qiita.com/prex-uchida/items/f8bc05eb91b944b6214e
[追記]
下のアドレスでヒントになりそうなことを書いているひとがいました。まだ試していませんが、やってみようかと思います。
https://michimani.net/post/sakura-create-git-repo/