Commit 5b574ac9 authored by Mehran Rasulian's avatar Mehran Rasulian Committed by Marcia Ramos

Update index.md

parent 30499181
...@@ -488,6 +488,8 @@ services: ...@@ -488,6 +488,8 @@ services:
variables: variables:
MYSQL_DATABASE: homestead MYSQL_DATABASE: homestead
MYSQL_ROOT_PASSWORD: secret MYSQL_ROOT_PASSWORD: secret
DB_HOST: mysql
DB_USERNAME: root
stages: stages:
- test - test
...@@ -548,20 +550,21 @@ We defined MySQL as our database management system, which comes with a superuser ...@@ -548,20 +550,21 @@ We defined MySQL as our database management system, which comes with a superuser
So we just should adjust the configuration of MySQL instance by defining `MYSQL_DATABASE` variable as our database name and `MYSQL_ROOT_PASSWORD` variable as the password of `root`. So we just should adjust the configuration of MySQL instance by defining `MYSQL_DATABASE` variable as our database name and `MYSQL_ROOT_PASSWORD` variable as the password of `root`.
Find out more about MySQL variables at the [official MySQL Docker Image](https://hub.docker.com/r/_/mysql/). Find out more about MySQL variables at the [official MySQL Docker Image](https://hub.docker.com/r/_/mysql/).
Also set the variables `DB_HOST` to `mysql` and `DB_USERNAME` to `root`, which are the Laravel specific variables.
We define `DB_HOST` as `mysql` instead of `127.0.0.1`, as we use MySQL Docker image as a service which [is linked to the main Docker image](../ce/ci/docker/using_docker_images.html/#how-services-are-linked-to-the-build).
```yaml ```yaml
... ...
variables: variables:
MYSQL_DATABASE: homestead MYSQL_DATABASE: homestead
MYSQL_ROOT_PASSWORD: secret MYSQL_ROOT_PASSWORD: secret
DB_HOST: mysql
DB_USERNAME: root
... ...
``` ```
Clone the `.env.example` file to `.env.testing` from your root repository and set the variables `DB_HOST` to `mysql` and `DB_USERNAME` to `root`. Make sure to set the `APP_KEY` for `.env.testing` as well. This file will override values from the `.env` file when running PHPUnit tests or executing Artisan commands with the `--env=testing option`.
We define `DB_HOST` as `mysql` instead of `127.0.0.1`, as we use MySQL Docker image as a service which [is linked to the main Docker image](../ce/ci/docker/using_docker_images.html/#how-services-are-linked-to-the-build).
#### Unit Test as the first job #### Unit Test as the first job
We defined the required shell scripts as an array of the [script](../ce/ci/yaml/#script) variable to be executed when running `unit_test` job. We defined the required shell scripts as an array of the [script](../ce/ci/yaml/#script) variable to be executed when running `unit_test` job.
...@@ -669,7 +672,4 @@ As you see, the `.env` is pointing to the `/var/www/app/.env` file and also `sto ...@@ -669,7 +672,4 @@ As you see, the `.env` is pointing to the `/var/www/app/.env` file and also `sto
## Conclusion ## Conclusion
We configured GitLab CI to perform automated tests and used the method of [Continuous delivery](https://continuousdelivery.com/) to deploy to production a Laravel application with Envoy, directly from the codebase. We configured GitLab CI to perform automated tests and used the method of [Continuous delivery](https://continuousdelivery.com/) to deploy to production a Laravel application with Envoy, directly from the codebase.
Envoy also was a great match to help us deploy the application without writing our custom bash script and doing Linux magics. Envoy also was a great match to help us deploy the application without writing our custom bash script and doing Linux magics.
\ No newline at end of file
## About guest author
Mehran is a web developer writing applications with PHP, Javascript. Recently interested in learning swift.
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment