ローカルからGitlabにプッシュでサイト更新したい。
CI/CDのパイプラインを使ったやり方もあるみたいだが、今回はwebhookとphpを採用。
※CI/CDの方だと時間指定してサイトに更新を反映等できる。
■環境
OS:Mac
さくらサーバー:SSH接続ができるスタンダードプラン以上
Gitlabに新規プロジェクト作成
普通に作るだけ。
※Initialize repository with a README にはチェックを入れない
ローカルリポジトリからプッシュ
Gitlabに作ったリポジトリをローカルへclone。
※ローカルに既にgitがある場合でGitlabにcloneしたい場合は別の方法
てきとーにcommitしてプッシュ。
(てきとーといいつつ以下のようにした)
- gitignoreを追加
- init(ファイルadd)
※空のcommitをする必要はなさそう
さくらサーバーにSSH接続しGitクローン
ターミナルを開いてSSHでさくらサーバーに接続
ssh testuser@testuser.sakura.ne.jp
// パスワードが求められるので入力
testuser@testuser.sakura.ne.jp's password:*********
※初回接続時の場合警告文がでてyes/noを聞かれる→yesでOK
繋がったらgitディレクトリを作成したい場所まで移動して、
※ターミナルのコマンドはこういうサイトを参考に。
git clone [url] [ディレクトリ]
[url] = https://ID:パスワード@gitlab.com/***.git
[ディレクトリ]は必要なければ入れなくて良い = 既にgitが存在する場合は新規フォルダを作ってclone、既存の.gitディレクトリを削除してcloneした.gitディレクトリを移動する。
git pull origin master
確認の為pullしてみる。
※cloneしてるのでリモートリポジトリの指定や追加はしなくて良いぽい。
さくらサーバーにdeploy-***.php設置
deploy-***.phpを作成して公開領域直下に設置。
*** = 乱数
Gitllabのwebhook設定
Gitlabの設定からWebhooksページへ。
上記のdeploy-***.phpのURLとSecret Key を入力してPushEventにチェックを入れてAdd Webhook。
※Secret Keyはdeploy-***.php内にも記入
終わり。
コメント