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 |
||||
|
||||
Git global setup |
||||
|
||||
git config --global user.name "Daniel de Oliveira Carvalho" |
||||
git config --global user.email "daniel_carvalho@bb.com.br" |
||||
Git global setup |
||||
|
||||
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 |
||||
cd onboard_phase_2 |
||||
touch README.md |
||||
git add README.md |
||||
git commit -m "add README" |
||||
git push -u origin master |
||||
git clone https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||
cd onboard_phase_2 |
||||
touch README.md |
||||
git add README.md |
||||
git commit -m "add README" |
||||
git push -u origin master |
||||
|
||||
Existing folder |
||||
Existing folder |
||||
|
||||
cd existing_folder |
||||
git init |
||||
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||
git add . |
||||
git commit -m "Initial commit" |
||||
git push -u origin master |
||||
cd existing_folder |
||||
git init |
||||
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||
git add . |
||||
git commit -m "Initial commit" |
||||
git push -u origin master |
||||
|
||||
Existing Git repository |
||||
Existing Git repository |
||||
|
||||
cd existing_repo |
||||
git remote rename origin old-origin |
||||
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||
git push -u origin --all |
||||
git push -u origin --tags |
||||
cd existing_repo |
||||
git remote rename origin old-origin |
||||
git remote add origin https://git.labbs.com.br/f2256342/onboard_phase_2.git |
||||
git push -u origin --all |
||||
git push -u origin --tags |
||||
|
||||
Loading…
Reference in new issue