2 changed files with 152 additions and 23 deletions
@ -0,0 +1,127 @@ |
|||||||
|
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 |
||||||
@ -1,32 +1,34 @@ |
|||||||
|
|
||||||
* Command line instructions |
* Command line instructions |
||||||
|
|
||||||
Git global setup |
|
||||||
|
|
||||||
git config --global user.name "Daniel de Oliveira Carvalho" |
Git global setup |
||||||
git config --global user.email "daniel_carvalho@bb.com.br" |
|
||||||
|
git config --global user.name "Daniel de Oliveira Carvalho" |
||||||
|
git config --global user.email "daniel_carvalho@bb.com.br" |
||||||
|
|
||||||
Create a new repository |
Create a new repository |
||||||
|
|
||||||
git clone https://git.labbs.com.br/f2256342/onboard_phase_2.git |
git clone https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||||
cd onboard_phase_2 |
cd onboard_phase_2 |
||||||
touch README.md |
touch README.md |
||||||
git add README.md |
git add README.md |
||||||
git commit -m "add README" |
git commit -m "add README" |
||||||
git push -u origin master |
git push -u origin master |
||||||
|
|
||||||
Existing folder |
Existing folder |
||||||
|
|
||||||
cd existing_folder |
cd existing_folder |
||||||
git init |
git init |
||||||
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||||
git add . |
git add . |
||||||
git commit -m "Initial commit" |
git commit -m "Initial commit" |
||||||
git push -u origin master |
git push -u origin master |
||||||
|
|
||||||
Existing Git repository |
Existing Git repository |
||||||
|
|
||||||
cd existing_repo |
cd existing_repo |
||||||
git remote rename origin old-origin |
git remote rename origin old-origin |
||||||
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||||
git push -u origin --all |
git push -u origin --all |
||||||
git push -u origin --tags |
git push -u origin --tags |
||||||
|
|||||||
Loading…
Reference in new issue