Upload project laravel in heroku

Chào các bạn. Hôm nay mình sẽ hướng dẫn các bạn deploy project lên server heroku.

Đầu tiên bạn vào project và tạo file có tên là Procfile, sau đó thêm dòng lệnh này vào nhé:

web: vendor/bin/heroku-php-apache2 public/

Lệnh này nhằm mục đích để heroku trỏ đường dẫn root đến thư mục public của project.

Sau đó chúng ta sẽ tách ra một nhánh khác trên github. Hiện tại mình đang ở nhánh "develop". Bạn vào terminal gõ dòng lệnh sau.

git checkout -b deploy.

Sau khi tách ra nhánh develop. Bạn vào trong file .gitignore và bỏ đi các dòng

.env
/public/bower
/public/css
/public/js
/public/storage
/vendor

Sau đó bạn lưu lại và vào lại terminal.

git status

Lúc này sẽ có rất nhiều file, vì khi bạn bỏ đi các dòng ở gitignore thì nó sẽ đưa vào git các file thư viện của laravel, các file css và js trong public. Nếu bạn không thực hiện các bước này thì khi lên heroku bạn cũng có thể làm được bằng cách dùng lệnh

heroku run...

Lệnh heroku run nó sẽ giống như terminal của bạn ở dưới local vậy. Bạn có thể gõ các lệnh như: heroku run composer install, heroku run composer update, heroku run gulp --production....

Để tránh phải thao tác trên heroku nhiều thì bạn nên bỏ các dòng ở trên trong file gitignore, rồi đưa lên git sau đó chỉ cần chạy là được.

Tiếp tục thì bạn commit hết tất cả các file đó lên github.Bạn vào terminal gõ các lệnh sau để đưa lên git.

git add .
git commit -m "deploy"
git push origin deploy

Như vậy bạn đã hoàn thành được một nửa đoạn đường rồi. Tiếp tục bạn vào terminal nhập dòng lệnh

heroku create

Dòng lệnh này dùng để tạo một project trên server heroku. Trước khi chạy lệnh này bạn cần có heroku, bạn cần cài heroku như hướng dẫn ở đây:https://devcenter.heroku.com/articles/heroku-cli#debian-ubuntu

Khi bạn create một project trên heroku bằng câu lệnh heroku create thì terminal sẽ đưa ra 2 link gồm link hướng dẫn deploy và link của project trên heroku.

Sau khi bạn tạo xong, bạn cần add git remote của bạn vào heroku. Dùng lệnh

git remote -v

để show tất cả các remote, sau đó add vào heroku bằng lệnh:

heroku git:remote -a <tên project trên heroku>

Bây giờ bạn đưa code từ git qua heroku bằng lệnh.

git push heroku deploy:master

Như vậy là code bạn đã ở trên heroku rồi nhé, có cả môi trường nữa. Nhưng bây giờ vẫn chưa chạy được. Trên server heroku, cơ sở dữ liệu được dùng là postgres, vì vậy bạn phải config lại database của bạn trong project nhé, bạn có thể làm bước này trước cũng đươc.

Bạn phải chắc chắn rằng mình đã có tài khoản heroku nhé. Sau khi bạn login vào tài khoản heroku bạn vào icon góc trên bên trái và chọn Elements, sau đó bạn tìm Heroku postgres để cài đặt và tạo một database postgress nhé.

Sau khi tạo xong database, bạn vào "View Credential" để xem chi tiết các config sau đó config lại trong file .env của bạn nhé.

Host
Database
User
Port
Password

Sau đó bạn push -f lên lại git và push heroku -f lại nhé.

Sau khi thực hiện xong bạn chỉ cần chạy migrate để nó tạo các table trên heroku.

heroku run php artisan migrate

Lệnh này để tạo table trên heroku (Bạn cần phải chắc chắn rằng các config của bạn về postgress là chính xác nhé). Nếu bạn có seeder dữ liệu thì bạn gõ lệnh này

heroku run php artisan db:seed

Bây giờ bạn gõ đường link heroku của bạn là OK rồi nhé, hoặc có thể dùng lệnh

heroku open

All Rights Reserved