LoginSignup
0
0

More than 1 year has passed since last update.

AWS Cloud9+Docker ComposeでLaravel環境を構築その参

Last updated at Posted at 2021-04-26

現在のDocker環境は、docker-compose.yml達とLaravelを同梱している。
その為、Gitにプッシュしようと思ったら、丸ごと行ってしまう。
Laravelだけ、リポジトリ管理する事にした。

マシンスペック

  • Mac mini 2018
  • macOS Catalina(10.15.x)
  • Intel Core-i7 3.2GHz 6コア
  • メモリ 32GB
  • SSD 512GB

Docker環境

  • Nginx 最新版
  • PHP(PHP-FPM)7.2.x
  • MySQL 5.7.x
  • Composer 1.x
  • Laravel 5.6.x

やること

  • Laravelだけ、リポジトリ管理

前提

AWS Cloud9+Docker ComposeでLaravel環境を構築その弐で環境構築済み

Laravelだけ、Gitリポジトリ管理する

現在の構成

ディレクトリ構成は、こんな感じ。

[docker] ← クローンして来た
 |-docker-compose.yml
 |-.git
 |-...
 |-src
    |-laravel ← コイツだけリポジトリ管理したい!
       |-app
       |-...

.gitがdockerディレクトリ直下にあるので、プッシュすると丸ごと(dockerディレクトリごと)行ってしまう。

$ pwd
/home/ec2-user/environment/docker

$ ls -al
・・・
drwxrwxr-x 8 ec2-user       ec2-user 198 Apr 20 10:34 .git
・・・

docker/src/laravelだけプッシュしたい。
スクリーンショット 2021-04-22 0.47.40.png

リポジトリの向き先を変える

早い話、.gitがdockerではなく、docker/src/laravelにあれば良い。

  • やる事
    • Git初期設定
    • リポジトリを用意
    • docker/.gitを削除
    • docker/src/laravelをバックアップ(以下、旧Laravel)
    • docker/srcにリポジトリをクローン(以下、新Laravel)
    • 旧Laravelを新Laravelにコピー
    • 旧Laravelを削除
    • 新Laravelをプッシュ
Git初期設定

未設定なら、やっておく。

$ git config --global user.name "GitHubユーザー名"
$ git config --global user.email GitHubメールアドレス
リポジトリを用意

空っぽなリポジトリだと、クローンした時にYou appear to have cloned an empty repository.って警告が表示されるので、おっ!?ってなる。
READMEだけ追加しておけば気にならなくて良い。

スクリーンショット 2021-04-22 1.08.06.png

スクリーンショット 2021-04-22 1.09.00.png

スクリーンショット 2021-04-22 2.17.28.png

docker/.gitを削除
$ pwd
/home/ec2-user/environment/docker

$ rm -fdR .git
docker/src/laravelをバックアップ(以下、旧Laravel)
$ pwd
/home/ec2-user/environment/docker

$ cd src
$ ls
laravel

$ mv laravel laravel_bak
$ ls
laravel_bak
docker/srcにリポジトリをクローン(以下、新Laravel)

スクリーンショット 2021-04-26 23.39.14.png

$ git clone <上記でコピーしたリポジトリURL> laravel
例)git clone https://github.com/bobtabo/cloud9-laravel.git laravel

Cloning into 'laravel'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

$ ls
laravel  laravel_bak
旧Laravelを新Laravelにコピー
$ ls -l
drwxrwxr-x  3 ec2-user ec2-user   35 Apr 21 17:30 laravel
drwxrwxr-x 13 ec2-user ec2-user 4096 Apr 19 17:40 laravel_bak

$ cp -pR laravel_bak/. laravel

$ ls -l
drwxrwxr-x 14 ec2-user ec2-user 4096 Apr 19 17:40 laravel
drwxrwxr-x 13 ec2-user ec2-user 4096 Apr 19 17:40 laravel_bak
旧Laravelを削除
$ ls
laravel  laravel_bak

$ rm -fdR laravel_bak

$ ls
laravel
新Laravelをプッシュ

スクリーンショット 2021-04-22 2.37.04.png

スクリーンショット 2021-04-22 2.37.28.png

スクリーンショット 2021-04-22 2.39.43.png

スクリーンショット 2021-04-22 2.40.09.png

スクリーンショット 2021-04-27 1.58.14.png

スクリーンショット 2021-04-27 1.58.34.png

ブラウザをリロードすれば、プッシュされている。

スクリーンショット 2021-04-27 2.03.58.png

Cloud9を開き直す時

セッション切れなどでCloud9を開き直したら、ディレクトリ選択し直す。
スクリーンショット 2021-04-24 3.09.00.png

スクリーンショット 2021-04-24 3.12.46.png

スクリーンショット 2021-04-24 3.14.58.png

スクリーンショット 2021-04-24 3.15.25.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0