質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

3回答

2860閲覧

さくらVPSサーバーにgitでデプロイする方法

gomes_2222

総合スコア94

さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2020/07/21 17:28

編集2020/07/21 22:50

前提・実現したいこと

githubdesuktopを使い、別途githubにすでにデプロイ済のcakephpで作成したwebサイトのコードがあります。
これを必ずgitを使い、さくらVPsにデプロイし、ブラウザで見れるようにするのが目的です。

発生している問題・エラーメッセージ

gitやサーバーの知識は全くない初心者です。
いろいろ調べましたが、やり方が無数にあり、同じ方法のはずなのにコマンドが微妙に違ったりして何が正しいのかわかりません。gitの仕組みもあまりわかってません。
なので、やり方の方向性を固めてからやっていきたいです。

試したこと

いろいろ調べた結果、自分なりにやり方をまとめました。
以下のやり方でどうでしょうか?
なお、さくらVPsにDB,PHPはインストール済です。
単純に、公開ディレクトリにリポジトリをクローン(そのまま持ってくる)すると良いのかと思いました。
やり方によってはリモートリポジトリをサーバーに別途作成したり、ローカルリポジトリを作成していますが、前者については今回githubがあるので不要と判断(githubがその役割を担う)しました。
ローカルリポジトリは、今後ターミナル上でファイル編集するなら必要なのかと思いましたが、その予定はなく、フィルを編集したらgithubdesktopでgithubにpushするので不要と判断しました。この辺りの判断間違ってたらいってください。

さくらvps本番環境で以下の操作を行う
ユーザーはrootユーザーの状態

cd /home/root/www //さくらの公開ディレクトリ git clone (githubのリポジトリのurlを入力) git pull origin master

これであとは以下のurlでcakephpで作ったサイトが見れる。
https://(サーバーの名前)

補足情報(FW/ツールのバージョンなど)

apache
centOS7

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

git/cake の基礎から学習したほうが良いですよ。

以下のやり方でどうでしょうか?

全くおかしなことをやっています。
push してどうするんですか^^;
また、cake は使用したことないですけど、マイグレーションとか実施しないとまずくないですか?

余談

CI/CD はテスト等を行わないのであれば、過剰な仕組みになるので、何がしたいのかも整理したほうが良いです。

投稿2020/07/21 22:12

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gomes_2222

2020/07/21 22:42

お世話になります。 gitの基本が、どうしても理解できず困ってる状態でした。 今手元にあるものを活用するなら、progateがあるんですがやってみた方がいいですかね
guest

0

ベストアンサー

ユーザーはrootユーザーの状態

は、あまりよろしくないですね。

root で作成したファイルに apache ユーザーは書き込めないので、PHP 実行時にパーミッションのエラーが出る可能性があります。

cd /home/root/www //さくらのデフォルトの公開ディレクトリ
git init
git clone (githubのリポジトリのurlを入力)
git push origin master

これは1回目の実行内容でしょうか?

git clone するので有れば、git init は、不要です。
また、git push 〜は、なぜ実行されているのでしょうか?

2回目からは、リポジトリのディレクトリでgit pull だけで良いでしょうね。


何気なく検索してみたら、

CakePHP3.5以降でGitからの自動デプロイができるプラグイン(Webhook利用)
ということをされている方がいますね。

CakePHP アプリに git が更新されたら、自分自身の自動更新機能つける発想は思いつかないなぁ。

投稿2020/07/21 21:51

編集2020/07/21 22:50
CHERRY

総合スコア25218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gomes_2222

2020/07/21 22:47

修正させていただきました。 本番環境は、リモートリポジトリからpullするものでしたね。
gomes_2222

2020/07/21 22:53

ありがとうございます。 BitbucketやGitLabを使用しているのですね。これらは名前は聞きましたが実際使ってません。関連ツールも多くで使った方がいいかも判断ができなくて・・ 今まで外部ツールは使わない方向で考えてました。
hentaiman

2020/07/22 00:19 編集

> GitLabを使用しているのですね。 リンク先の記事は2年前だしその頃のgitlubにはデプロイ関連ツールが無かっただけではないか?知らんけど 今はgithubにもgitlabにもデプロイに使えるツールは備わっている まあレンタルサーバー用のプラグインと言う考え方もあるが
guest

0

多分いま動いてるのはapache2だと思うのでapache2ctl -Mでphp module読まれてるか確認してみてください。
https://qiita.com/kotarella1110/items/634f6fafeb33ae0f51dc

それはそうとこの現代にWebページを作るならSSL接続できるのは基本的人権なのでSSL対応はしたほうがいいでしょうね。SSLといっても色々バージョンありますが、TLS1.2と1.3だけ有効にしてればいいでしょう。

あと近年apache2ではなくnginxのほうが人気なのでそちらも使ってみるといいでしょう。

投稿2020/07/21 17:52

yumetodo

総合スコア5852

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumetodo

2020/07/22 03:27

回答したときはだいぶ眠かったようで、今質問を見ると他の方の指摘の通りまじで何やってるかよくわからんです。落ち着いてゆっくり確実にわからないことを潰したほうがいいでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問