Git管理のソースを元に新しく構築する環境に反映させる手順
2025/03/23
Git管理のソースを使って新しい環境を構築する
Gitで管理しているソースを使用して、新しい環境を構築する方法を解説します。
例えば、下記のような想定です。
・進行中のプロジェクトに参加し、ローカルに開発環境を作る
・ローカルで開発しているものを、AWS上に検証環境を作る
・リリースが近づいてきたので、AWS上に本番環境を作る
また、最近は、ほとんどの場合はフレームワークを使用して開発をしていると思いますので、フレームワークの設定も含めた環境構築の手順を解説します。
(私は CakePHPをメインで使用していますので、CakePHPを想定して書きますが、他のフレームワークでも同じようにできるはずです。)
今回は、
「ローカルでの開発が終盤に近付いてきたので、本番環境を構築する」
という想定で説明していきます。
Git管理のソースを新しく構築する環境に反映させる手順
CakePHPの基本的な環境を構築する
まず最初に、本番環境にローカル環境と同じフレームワークをインストールします。
CakePHPの場合は、LAMP環境を構築し、まっさらな CakePHPをインストールします。
CakePHPのバージョンを調べる方法、および、バージョンを指定して CakePHPをインストールする方法は下記の記事を参考にしてください。
「CakePHP3、CakePHP4、CakePHP5のバージョンを指定してインストールする詳細な手順を解説」
「CakePHP2、CakePHP3、CakePHP4、CakePHP5のバージョンを調べる 2つの方法」
※LAMP環境の構築については Googleで検索してください。
この段階で、DBの設定、テーブルの構築などを行い、インストールした CakePHPが動作することを確認しておきます。
また、Gitで管理していないライブラリ等のインストールもこのタイミングで実行しておきます。
例えば、「Authentication(認証処理)」など。
https://book.cakephp.org/authentication/3/ja/index.html
「Authentication(認証処理)」については、下記にも記事を書いていますので参考にしてください。
「CakePHP4、CakePHP5系の認証処理でログインの有無の確認、ユーザ情報の取得の方法」
「CakePHP4、5のユーザ認証でID、PASS以外の削除フラグなども条件加える方法」
Gitのインストールと初期設定
Gitがインストールされているか否かの確認
Gitがインストールされているか否かを確認します。
$ git --version git version 2.47.1
上記のようにバージョンが表示されれば Gitはインストールされています。
「-bash: git: command not found」の場合はインストールされていませんので、Gitをインストールします。
Gitのインストール
Gitがインストールされていない場合は、インストールを行います。
AWSの AL2023の場合は dnfを利用してインストールします。
(「update」でインストールするパッケージを最新化し、「install」でインストールします。)
$ sudo dnf update $ sudo dnf install git -y
yumを利用してインストールする場合もコマンド形式は全く同じです。
$ sudo yum update $ sudo yum install git -y
インストールを実行し、「Complete!」と表示されると完了です。
改めて、「git --version」を実行してバージョンが表示されることを確認します。
Gitの設定
続いて、CakePHPを構築している環境で Gitを使用できるように設定します。
$ cd /var/www/html/ $ git init $ git remote add origin https://ID:PASS@example.com/sample/sample.git
「cd」コマンドで開発をしているアプリのドキュメントルートに移動します。
「git init」で Gitを設置します。
続いて、「git remote add」で Gitで管理しているリポジトリの情報を追加します。
詳しい説明が必要な場合は、下記のサイトなどが参考になるかと思います。
https://www.sejuku.net/blog/71492
ソース一式を pullする
続いて、ソースを「pull」します。
$ git pull origin master
ここでは、「master」ブランチを「pull」していますが、必要なブランチを pullしてください。
そうすると、下記のようなエラーが発生します。
$ git pull origin master
remote: Enumerating objects: 1234, done.
remote: Counting objects: 100% (1234/1234), done.
remote: Compressing objects: 100% (880/880), done.
remote: Total 1234 (delta 1111), reused 880 (delta 660), pack-reused 0
Receiving objects: 100% (1234/1234), 3.33 MiB | 4.44 MiB/s, done.
Resolving deltas: 100% (1111/1111), done.
From https://example.com/sample/sample.git
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
error: The following untracked working tree files would be overwritten by merge:
.editorconfig
.gitattributes
.github/ISSUE_TEMPLATE.md
:
中略
:
webroot/img/cake.power.gif
webroot/index.php
webroot/js/.gitkeep
Please move or remove them before you merge.
Aborting
これは「pullしようとしているファイルがすでにありますよ」というエラーです。
CakePHPを普通にインストールした上に pullしていますので、既にファイルがある場合もあるでしょう。
というワケで、重複しているファイルを削除していきます。
重複しているファイルを削除する
ファイルのリストを一つずつ見ながら ftpなどで削除してもいいのですが、重複しているファイルのリストを、テキストファイルなどにコピペして、行頭に「rm」コマンドを追加します。
そして、これを改めてコンソールにコピペしてまとめて削除します。
この方法を使えば、抜け漏れなく簡単に指定のファイルを削除できます。
rm .editorconfig
rm .gitattributes
rm .github/ISSUE_TEMPLATE.md
:
中略
:
rm webroot/img/cake.power.gif
rm webroot/index.php
rm webroot/js/.gitkeep
https://qiita.com/h-pod/questions/c9aafa4cb872ef68dfc5
ただ、上記の記事によると「コピペ」する際の文字数には「4096文字」という上限があるようですので、無理せず、20~30行ずつくらい実行するとよさそうです。
全部削除が終わったら、改めて、pullを実行すれば、Gitで管理している環境が出来上がります。
$ git pull origin master
pullした「master」ブランチができていることを確認します。
$ git branch * master
最新の情報が pullで来ていることを logで確認します。
$ git log --oneline 0b7f0b7 (HEAD -> master, origin/master) 3rd Commit d34cd34 2nd Commit 7570757 First Commit
ブラウザでアクセスし、ローカル環境と差異がないかを改めて確認します。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
ブラウザのキャッシュを活用するの対策!広告バナーを消して表示を高速化
あなたのサイトが遅いのはバリューコマースのバナーではないですか?バリューコマースのバナーを外すだけでmod_deflateとmod_expiresを設定するより効果があります!
-
-
ロリポップからX-Serverに引越し。サーバの月額費用が増えても求めた理由は?
ロリポップからX-Serverに引越すその理由とは?SEOの観点からも少しでもサーバレスポンスが早いサーバが求められロリポップでは限界を感じたからです。
-
-
PythonでUTF-8など日本語(全角文字)を使う方法。コメントにも必要。
Pythonの標準では日本語(全角文字)を利用できないので、利用する際は文字コードを宣言する必要がある。「# coding: utf-8」の様に記述すればOK。
-
-
XSERVERにCakePHP3をインストール。コマンドラインのPHPのバージョンを変更する方法で解決
XSERVERにCakePHP3をインストールするときに問題となるのはサーバーパネルとSSH接続の時とで認識されるPHPのバージョンの違いがあるため。その解消方法を解説する。
-
-
Selenium WebDriver、Pythonをインストールし Chromeの自動操作の環境構築手順のまとめ
Selenium WebDriverを使ってChromeを自動操作する環境を構築する手順のまとめ。使用するPythonのインストールから、サンプルスクリプトの動作確認までを詳細解説。
-
-
.htaccessのmod_deflateでファイル圧縮送信で高速化でSEO対策!
Page Speed Insightsの指摘事項であるファイルの圧縮送信の対応方法。処理内容の解説もあるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!
-
-
直リンクとは何か?直リンクとディープリンクの違いと著作権問題
直リンクは著作権違反なのか?議論の前にまず「直リンク」の意味を正しく理解しよう。直リンクは他のサイトの画像を読み込む、ディープリンクなど多様な意味がある。
-
-
サイト更新、引越時に.htaccessでリダイレクトする方法解説
サイト更新,引越しなどでサイトのURLが変わった場合のリダイレクトを.htaccessのRewriteEngineを使って処理する方法の解説です。
-
-
So-netのレンタルサーバHSはヤバイ・借りてはいけないレンタルサーバリスト
餅は餅屋。サーバはサーバ屋が提供するサービスを利用するべきという記事で、単独でSo-netを紹介。OEMでサービスの提供を受けているだけなので何とも残念すぎる内容。
-
-
.htaccessのmod_expiresでブラウザキャッシュで高速化でSEO対策!
Page Speed Insightsの指摘事項のファイルのブラウザキャッシュの設定方法。解説もしてるけど、.htaccessにコピペするだけの簡単設置で効果抜群!SEOにも威力を発揮!