diff --git a/ambiente_git_labbs.txt b/ambiente_git_labbs.txt new file mode 100644 index 0000000..303c20d --- /dev/null +++ b/ambiente_git_labbs.txt @@ -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 diff --git a/node/README.md b/node/README.md index bdb9c8f..43fae62 100755 --- a/node/README.md +++ b/node/README.md @@ -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