You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
3.7 KiB
87 lines
3.7 KiB
Em complemento a resposta acima.... |
|
|
|
Pré-requisitos para funcionamento de um projeto em docker na infraestrutura do Labbs: |
|
|
|
volumes: |
|
|
|
O padrão do volume do lado do Host deve ser assim: |
|
|
|
/mnt/dados/nomedogrupo/nomedoprojeto:/path/to/container |
|
|
|
Onde nomedogrupo no caso de projetos pessoais, será o nome do usuário. E nomedoprojeto como o próprio nome diz, é o nome do projeto criado. |
|
|
|
Network |
|
|
|
Recomendamos por motivos de segurança, caso seu projeto utilize algum banco de dados, que seja criada uma rede específica para comunicação do banco de dados com a aplicação que fará uso dela. Dessa forma, utilize a seguinte configuração para criação e utilização dessa rede: |
|
|
|
networks: |
|
app-bd-net: |
|
driver: overlay |
|
traefik-net: |
|
external: |
|
name: traefik-net |
|
|
|
No swarm já temos criada a rede default chamada traefik-net. Se quer somente colocar um projeto simples via docker-compose basta adicionar as linhas a seguir ao final do seu docker-compose.yml: |
|
|
|
networks: |
|
default: |
|
external: |
|
name: traefik-net |
|
|
|
Senão, se for utilizar um wordpress por exemplo que utiliza um banco de dados, para utilizar a segurança mencionada mais acima, utilize a rede criada (app-bd-net) para o service do banco de dados e do wordpress e a rede Traefik-net somente para o wordpress. Dessa forma somente o wordpress terá contato com a rede externa traefik-net e o banco de dados somente estará acessível pela rede app-bd-net a qual está só ele e o wordpress. |
|
|
|
Label traefik(informações de borda) |
|
|
|
Algumas informações aqui são necessárias para que o traefik(gerenciador de borda) reconheça e aponte corretamente as requisições para seu container. São elas: |
|
|
|
deploy: |
|
labels: |
|
- traefik.docker.network=traefik-net |
|
- traefik.frontend.entryPoints=internal_http,internal_https,external_http,external_https |
|
- traefik.frontend.rule=Host:seudominio.labbs.com.br |
|
- traefik.port=8080(Se tomcat)80(se nginx) |
|
|
|
.gitlab-ci.yml |
|
|
|
Aqui teremos basicamente 2 modelos de arquivos responsáveis por chamar os scripts de CI/CD: Um que chama os scripts de build e deploy e outro que chama somente o script de deploy. |
|
|
|
Branch deploy |
|
|
|
Branch necessária para disponibilização do container rodando em Produção. Após a criação dessa branch(clone da master), além da master que vc já tem por padrão, basta realizar o merge request da branch master para a branch deploy e o projeto já irá pra produção. |
|
|
|
links, depends, restart: always |
|
|
|
Esses parâmetros serão ignorados no modo swarm com docker-compose versão 3 por não serem suportados e já terem suas funções intrinsecamente realizadas. |
|
|
|
sandman.yml |
|
|
|
Esse arquivo não é obrigatório no caso de o projeto ser somente de deploy, porém, oferece algumas possibilidades de configurações adicionais ao projeto: port, subdomain, edges, deploy_mode, desired instances, dentre outros. |
|
|
|
-#internal port of container, for traefik connection |
|
-#default: 80 |
|
port: 80 |
|
-#override subdomain in host of container, i.e.: foo.labbs.com.br |
|
-#default: Inverted git repository path |
|
subdomain: foo |
|
-#override host of container |
|
-#default: $SUBDOMAIN.labbs.com.br |
|
host: test.labbs.com.br |
|
-#enable redirect ssl |
|
-#default: true |
|
ssl: true |
|
-#create redirections on edges |
|
-#default: |
|
redirects: teste.labbs.com.br,teste2.labbs.com.br |
|
-#define edges of container |
|
-#default: internal |
|
edges: internal,external(Acesso via internet) |
|
-#define desired instances number of container |
|
-#default: 1 |
|
desired_instances: 1 |
|
-#define mode of deploy of service. (service or stack) |
|
-#default: service |
|
deploy_mode: stack |
|
-#define name of stack |
|
-#warning: [usage mode in deprecation] old usage of variable enabled stack deploy mode |
|
-#default: |
|
stack: stacktest
|
|
|