8000 Documentation conclusion · vs0uz4/l5vueka-laravel-vuejs@b5e592d · GitHub
[go: up one dir, main page]

Skip to content

Commit b5e592d

Browse files
committed
Documentation conclusion
1 parent c22379b commit b5e592d

File tree

1 file changed

+140
-2
lines changed

1 file changed

+140
-2
lines changed

README.md

+140-2
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,145 @@ Sem sombra de dúvidas, o Ambientum irá facilitar a sua vida em muito, principa
5757

5858
Mas não se preocupem, 8000 o readme está escrito em dois idiomas: Inglês e Português.
5959

60+
## Instalação e Execução
6061

62+
1. Faça o clone do repositório e no terminal navegue até a pasta criada com os comandos abaixo:
63+
64+
```
65+
git clone git@github.com:vs0uz4/l5vueka-laravel-vuejs.git
66+
cd l5vueka-laravel-vuejs
67+
```
68+
69+
2. Faça uma cópia do `docker-compose.yaml.example` para um novo arquivo com nome de `docker-compose.yaml`, abra em um editor de sua preferência e faça a troca de toda ocorrência de `sandbox` para algo que referêncie melhor o projeto, como por exemplo, `l5vueka`.
70+
71+
```
72+
cp docker-compose.yaml.example docker-compose.yaml
73+
```
6174

62-
## Instalação e Execução
63-
...
75+
Exemplo de configuração das variáveis.
76+
```
77+
version: '2.1'
78+
79+
volumes:
80+
l5vuek4-config:
81+
driver: local
82+
83+
l5vuek4-cache:
84+
driver: local
85+
86+
l5vuek4-local:
87+
driver: local
88+
89+
l5vuek4-yarn:
90+
driver: local
91+
92+
l5vuek4-npm:
93+
driver: local
94+
95+
l5vuek4-mysql-data:
96+
driver: local
97+
98+
l5vuek4-redis-data:
99+
driver: local
100+
101+
services:
102+
mysql:
103+
image: ambientum/mysql:5.7
104+
container_name: l5vuek4-mysql
105+
networks:
106+
l5vuek4_net:
107+
ipv4_address: 192.168.0.2
108+
volumes:
109+
- l5vuek4-mysql-data:/var/lib/mysql
110+
ports:
111+
- "3306:3306"
112+
environment:
113+
- MYSQL_ROOT_PASSWORD=l5vuek4
114+
- MYSQL_DATABASE=l5vuek4
115+
- MYSQL_USER=l5vuek4
116+
- MYSQL_PASSWORD=l5vuek4
117+
...
118+
```
119+
120+
> As variáveis definidas no arquivo `docker-compose.yaml` para configuração dos containers, como por exemplo dos serviços de banco de dados, como `mysql` e `redis`, devem ser, obrigatoriamente iguais as que serão definidas no arquivo `.env`.
121+
122+
3. Instale as dependências do `Laravel`, e crie o arquivo `.env`, com os seguintes comandos:
123+
124+
```
125+
docker-compose create
126+
docker-compose run app composer install
127+
docker-compose run app composer run-script post-root-package-install
128+
docker-compose run app composer run-script post-create-project-cmd
129+
```
130+
131+
> Um exemplo de como deve-se configurar as variáveis do arquivo `.env`, segue logo abaixo:
132+
133+
```
134+
APP_ENV=local
135+
APP_KEY=base64:t4LocTfkTQ20mGLKZjKyNZCYphwqClqrW6aAeBd6HS8=
136+
APP_DEBUG=true
137+
APP_LOG_LEVEL=debug
138+
APP_URL=http://localhost
139+
140+
DB_CONNECTION=mysql
141+
DB_HOST=192.168.0.2
142+
DB_PORT=3306
143+
DB_DATABASE=l5vuek4
144+
DB_USERNAME=l5vuek4
145+
DB_PASSWORD=l5vuek4
146+
147+
BROADCAST_DRIVER=log
148+
CACHE_DRIVER=file
149+
SESSION_DRIVER=file
150+
QUEUE_DRIVER=sync
151+
152+
REDIS_HOST=192.168.0.3
153+
REDIS_PASSWORD=null
154+
REDIS_PORT=6379
155+
```
156+
157+
> Note que utilizei os endereços de IP dos containers, conforme estão configurados no arquivo `docker-compose.yaml`. Existe ainda a possibilidade de utilizar os nomes dos serviços, descritos no arquivo `docker-compose.yaml` como `hostname`, existem diversos exemplos de configuração nestes moldes na internet.
158+
159+
4. Atualize o `npm` e instale todas as dependências do `node` e com os comandos abaixo:
160+
161+
```
162+
docker-compose run dev npm install -g npm gulp-cli
163+
docker-compose run dev yarn
164+
```
165+
166+
5. Prepare a base de dados, criando e populando as tabelas com dados fictícios, com os seguintes comandos:
167+
168+
```
169+
docker-compose run app php artisan migrate
170+
docker-compose run app php artisan db:seed
171+
```
172+
173+
6. Inicialize os containers.
174+
175+
```
176+
docker-compose up
177+
```
178+
179+
> Provavelmente será retornado um erro na tela, ao se tentar inicializar um dos containers. Mais precisamente o container `dev`, que é reponsável por todo o suporte ao `nodejs`. O que acontece especificamente é que este container executa o seguinte comando ao ser startado `gulp watch`.
180+
181+
> O motivo do erro é que existe um limite no sistema para quantos arquivos podem ser vistos por um usuário, usando o comando abaixo em uma janela de terminal, podemos simplesmente aumentar o limite, e o erro simplesmente sumirá.
182+
183+
```
184+
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
185+
```
186+
187+
## Observações
188+
Devido ao projeto estar rodando em `containers` a funcionalidade do BrowserSync de abrir a página do projeto no browser automaticamente quando executamos o comando `gulp watch`, está desativada. Então faz-se necessário que abramos a janela manualmente.
189+
190+
> O comando `gulp watch` já está sendo executado automaticamente ao inicializar os containers, logo não é possível roda-lo novamente em linha de comando, pois ocorrerá um erro devido as portas já estarem sendo utilizadas.
191+
192+
Caso necessite de rodar o `gulp` via linha de comando, enquanto o `watch` estiver rodando, basta que em uma outra janela do terminal, execute o seguinte comando:
193+
194+
```
195+
docker-compose exec dev gulp
196+
```
197+
198+
> Desta vez, ao invés de utilizar o comando docker-compose passando o parametro `run`, devemos utilizar o parâmetro `exec`, de modo que possamos executar tais comando no container que já encontra-se em execução.
199+
200+
## Sugestão
201+
Caso necessite testar chamadas a API, sugiro que utilize o `Postman` para testar suas chamadas. [https://www.getpostman.com/](https://www.getpostman.com/).

0 commit comments

Comments
 (0)
0