nat/deploy

Add command line to deploy a symfony project on Heroku

1.3.3 2022-08-08 19:06 UTC

README

English FranΓ§ais

Welcome in the deploying tool by Nat

CommandlineSymfonyheroku

The goal is to deploy a Symfony project on Heroku with custom command line.

logos

10 Steps :

1 Prepare a notepad πŸ“ to paste the 3 infos to answer my questions :)

2 You must have a Symfony project to deploy ;)

3 You must have a Heroku account with billing enabled by a credit card πŸ’³(needed by ClearDb/mySql but don't worry it's free)

4 Go in your Heroku account to get your credentials :

  • your email attached to your account example @ email . com πŸ“
  • your API Key 8XXXXXXX-4YYY-4ZZZ-4AAA-12BBBBBBBBBBB πŸ“

5 You must create an new app on Heroku and copy the app-name-of-your-project πŸ“

6 Connect your Github and your Heroku accounts and click the "search" button to show your repositories list, then select the good one in this list

link

TIP: On the same page, choose the automatic deploy, when you push on Github, it quickly serves your changes on Heroku enable automatic deploy

7 Install Heroku CLI if you've never done it.

8 Run this command in your project dir


composer require nat/deploy

9 Then run this command and follow the instructions


php bin/console nat:heroku
OR

php bin/console nat:h
During the process, it may appear some errors or lags :
  • When it is saying that is waiting for you to log in Browser, it should open your browser and you will have to click login and enter your credentials in the form, then come back to your console to continue the process.

10 Now you can check this :

  • .htaccess is in public directory
  • .env.php is at root of you project
  • Procfile is at root of you project
  • ClearDb is enabled in Heroku Resources
  • APP_ENV is set in Heroku Settings (click reveal config vars)
  • APP_SECRET is set too in the same Settings
  • DATABASE_URL is equal to CLEARDB_DATABASE_URL
  • If you have some of them, other specific vars of your project are set as well (CORS_ALLOW_ORIGIN, MAILER_DSN, etc...). If they are not set, please set them by yourself.

Now you can export your local database to import it in you clearDb (adobe mysql workbench is fine to do it) then Push your files in your github (and Heroku if you didn't enable the automatic deploy).

You can delete this tool by running


composer remove nat/deploy

If you need help, let me know ;)

Nathalie Verdavoir