Laravel SailはLaravel projectをdockerで動かす環境を作ってくれる超便利な奴。
Dockerfileやdocker-compose.ymlも勝手に作ってくれる。
以下内容は公式ドキュメントを参考に実施する。
目次:クリックでジャンプ
curl -s https://laravel.build/laravel-10-blog | bashコマンドを実行
まず最初に実行するこのコマンドなんだけど、何をしているかと言うとネットからLaravel フレームワークの最新の安定版をダウンロードしてる。
コマンド↓
curl -s https://laravel.build/laravel-10-blog | bash
初めて実行する時はまじで長い。
Dockerコンテナの立ち上げ
次はコンテナを立ち上げる。
パスワードを入力してプロジェクトの作成に成功したらプロジェクトフォルダに移動。
コマンド↓
cd laravel-10-blog
プロジェクトフォルダに移動できたら今いるディレクトリをエクスプローラーで開く。
コマンド↓
explorer.exe .
エクスプローラーが開いたら、1つ上の階層に移動。
作成したプロジェクトフォルダがあるのでVSCODEを開く。
VSCODEが開けたら、次はDockerコンテナを立ち上げる。
コマンド↓
./vendor/bin/sail up
control + Cでコンテナのサービスをストップできる。
コンテナに入る
立ち上げたコンテナに入れることを確認。
コンテナ内に入ればphpコマンドやartisanコマンドなど実行できる。
コマンド↓
./vendor/bin/sail bash
ちなみに以下でもOK
./vendor/bin/sail shell
localhostでLaravelのデフォルトページが開ければOK。
LaravelのプロジェクトをGitHubにpush
あとはGithubにプロジェクトをプッシュするだけ!
Gitがローカルにインストールされていることが前提なんだけど、まずはGithubでリポジトリを作成する。
echo "# blog" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/Meowsuke/blog.git git push -u origin main
次に上記コマンドを一つずつ以下のように実行する。
コミットしたらエラーになったので、自分のemailとnameを設定。
自分のemailとnameを設定した。(後ほど--globalオプション付けるの忘れたと気づく笑)
以下コマンドを実行。
git branch -M main
git remote add origin https://github.com/Meowsuke/blog.git
git push -u origin main
するとpushで以下エラー発生。
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Meowsuke/blog.git/'
上記記事を参考にアクセストークンを作成する。
自分のemailとnameを設定したら、再度push。
pushするとパスワードを聞かれるので、上記画像の黄色線の個所に作成したアクセストークンを張り付ける。
するとこんどは以下エラーが発生。
remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: http://github.com/settings/emails
To https://github.com/Meowsuke/blog.git
! [remote rejected] main -> main (push declined due to email privacy restrictions)
error: failed to push some refs to 'https://github.com/Meowsuke/blog.git'
これはGithubの設定で自分の email を private にする設定をしているのに、 config に自分の email アドレスを設定している状態で push しちゃダメといったエラーらしい。
なので、Githubのhttp://github.com/settings/emailsで上記画像の黄色線のアドレスをコピー。
コピーした黄色線のアドレスを設定する。(--global オプションを付ける)
再度pushしたらエラー解消されていない。
なので、git config --listでconfig設定を確認し、--globalオプションを付けない方のメールアドレスの設定も同様に実施。
コマンド↓
$ git filter-branch -f --env-filter "GIT_AUTHOR_EMAIL='{ID}+{username}@users.noreply.github.com'; GIT_COMMITTER_EMAIL='{ID}+{username}@users.noreply.github.com';" HEAD
既存の commit 内の private な email を一括変更。{ID}+{username}@users.noreply.github.com は自分のものに適宜変更。
README.mdファイルのみコミットされている。git add .するのわすれてた。
以下コマンドを実行すると、Laravelプロジェクト環境構築完了!
git commit -m 'second commit' git push origin main