share facebook facebook facebook twitter twitter menu hatena pocket slack

2021.03.29 MON

Laravel Sailで作成したプロジェクトをGitHubリポジトリにpushして利用する

甲斐 甲

WRITTEN BY 甲斐 甲

Laravel Sailでさくっとプロジェクト作成する手順をまとめたのですが、そのプロジェクトをGitHubリポジトリにpush後、cloneして利用するのに少し難儀したので、手順をまとめました。

前提

こちらの記事でLaravelプロジェクトを作成済み。

手順

GitHubでリポジトリ作成

公式のドキュメントがわかりやすいです。

GitHubリポジトリにpush

Laravelプロジェクトのディレクトリでローカルリポジトリを作成し、GitHubの(リモート)リポジトリにpushします。

実際に作成したリポジトリが以下となります。

kai-kou/laravel-sail-sample-projects: Sample project made with Laravel Sail and Laravel Breeze.  
https://github.com/kai-kou/laravel-sail-sample-projects

> cd <Laravelプロジェクトのディレクトリ>
> git init
# masterブランチの名前変更(必要であれば)
> git branch -M main
> git add .
> git commit -m “<コミットメッセージ>”
> git remote add origin <GitHubのリポジトリURL(HTTPS or SSH)>
> git push -u origin main

Laravel Sailでプロジェクト作成すると.gitignoreが含まれており、除外すべきファイル・ディレクトリも設定してくれているので、助かります。

.gitignore

/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.phpunit.result.cache
docker-compose.override.yml
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log

GitHubリポジトリをクローンして利用する

GitHubリポジトリからクローンしてプロジェクトが利用できるようにします。ここでは私が作成したリポジトリを利用します。

GitHubリポジトリをクローン

> cd <リポジトリをcloneするディレクトリ>
> git clone https://github.com/kai-kou/laravel-sail-sample-projects.git
> cd laravel-sail-sample-projects

プロジェクトのセットアップ

クローンしたリポジトリにはvendorディレクトリや.envファイルが含まれていないので用意します。

環境変数の設定
> cp .env.example .env

今回のGitHubリポジトリに含まれる.env.exampleはすでに設定変更済みですが、以下の設定を変更する必要があります。

.env

APP_URL=http://localhost
DB_HOST=mysql
MEMCACHED_HOST=memcached
REDIS_HOST=redis
MAIL_FROM_ADDRESS=hoge@example.com
PHPのパッケージのインストール

vendor ディレクトリはリポジトリに含まれていないので、パッケージをインストールします。手元のPCにPHPやComposerがインストールされていればそれを利用することもできますが、ここでは、Laravel Sailのセットアップスクリプトでも利用されているDockerイメージを利用してインストールします。

# パッケージのインストール
> docker run --rm \
  -v $(pwd):/opt \
  -w /opt \
  laravelsail/php80-composer:latest \
  bash -c "composer install"

コマンドを叩くのが若干面倒なので、セットアップ用のスクリプトを用意しておくと便利かと思います。

Dockerコンテナの起動

パッケージがインストールできたらsailコマンドが利用できるようになるので、Dockerコンテナの起動とLaravelのAPP_KEYを生成します。

# Dockerコンテナの起動
./vendor/bin/sail up -d

# LaravelのAPP_KEY生成
./vendor/bin/sail artisan key:generate

APP_KEY.envに設定されます。設定されていないと以下のようにNo application encryption key has been specified. エラーとなるのでご注意ください。

Node.jsのパッケージをインストール

今回のプロジェクトではLaravel Breezeを利用しているので、Node.jsのパッケージもインストールします。

> ./vendor/bin/sail npm install
> ./vendor/bin/sail npm run dev
マイグレーション実行

マイグレーションを実行して必要となるテーブルを作成します。

> ./vendor/bin/sail artisan migrate

動作確認

以下のURLが表示されたらセットアップ完了です。

http://localhost/

http://localhost:8025/

やったぜ

参考

Laravel SailとLaravel Breezeでさくっとログイン機能を実装する – Qiita  
https://cloudpack.media/56069

元記事はこちら

Laravel Sailで作成したプロジェクトをGitHubリポジトリにpushして利用する

甲斐 甲

甲斐 甲

2018/7にJOIN。 最近の好みはサーバレスです。なんでもとりあえず試します。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。