Added comprehensive information about the Drone CI pipeline, deployment servers, and automated migration process.
3.0 KiB
Mijn-GGZ back-end
This is a Laravel project that requires PHP 7.
Installation
To install this project, first clone the repository to your local machine.
Next, navigate into the project directory and run the following command to install the required dependencies:
composer install
Running the Project
To run the project, you can use the built-in Laravel development server. Navigate to the project directory in your terminal and run the following command:
php artisan serve --port=8000
This will start the server and make the project available at http://localhost:8000.
You can stop the server at any time by pressing Ctrl+C in your terminal.
You can visit http://127.0.0.1:8000/api/roles to see if the project is running succesfully.
Configuration
This Laravel project comes with a .env.example file that you can use to configure the application. You can create a .env file by copying the .env.example file:
cp .env.example .env
In the .env file, you can set your database credentials, configure your email settings, and more. Since this project runs in conjunction with mijn-ggz-frontend you will need to specify the location of this environment in the .env file. This is being defined with the property name APP_URL_FRONTEND
Database set-up
This project comes with database migrations that you can use to create the necessary database tables. To run the migrations, use the following command:
php artisan migrate
This will create the required database tables based on the migration files found in the database/migrations directory.
Copying existing database
If you have a DB export, that you'd like to use. You can do that with the following command:
mysql -u root -p < database_filename.sql
Testing
This project comes with PHPUnit tests that you can run to ensure everything is working as expected. To run the tests, use the following command:
php artisan test
This will run all the tests found in the tests/ directory.
Conclusion
That's it! You now know how to install, run, and configure this Laravel project. Happy coding!
Note
Note that the server configuration should refer to public/index.php, not server.php
CI/CD Pipeline
This repository uses Drone CI for automated testing and deployment:
- Test: Composer validation and dependency installation
- Deploy to Staging: Automatic deployment + migrations on push to
mainordevelopbranches - Deploy to Production: Manual promotion required + queue restart
Deployment Servers
- Staging: 159.223.242.61 →
/var/www/laravel/current - Production: 152.42.148.137 →
/var/www/laravel/current - Deployment Script:
/opt/deploy-scripts/deploy-laravel.sh
Database migrations run automatically during deployment:
- Staging:
php artisan migrate --force - Production:
php artisan migrate --force+php artisan queue:restart