A simple package to help deploy docker swarm stack.
Project description
pencilctl_lite
Repositório contendo o script pencilctl_lite, responsável por fazer deploy de projetos que utilizem uma estrutura de docker stack, mas que não serão executados no cluster principal da Pencil.
Quick Start
Para utilizar este script, existem algumas pré-requisitos:
- Um cluster swarm tem que existir na máquina em que ele será executado;
- O projeto que será alvo do deploy deve possuir uma pasta
docker/production, contendo os arquivos Dockerfile (caso as stacks exigam imagens customizadas), e os arquivos de stack, que serão utilizados para realizar o deploy do projeto. - O diretório
docker/production, deve ter a seguinte estrutura:
- xpto: Diretório que centraliza todos os arquivos de uma stack. Um projeto pode ter mais de uma stack, por exemplo, uma stack para fazer deploy do servidor, e outra para um http proxy ou um redis. O pencilctl _lite permite fazer deploy de multiplas stacks. Diretório obrigatório;
- xpto/stacks: Diretório contendo os arquivos de stack do projeto. Diretório obrigatório;
- xpto/nginx_confs: Diretório contendo arquivos de configuração do nginx. Diretório optativo;
- xpto/server: Diretório contendo o Dockerfile do serviço chamado server, declarado no arquivo de stack. Diretório optativo;
- xpto/db: Diretório contendo o Dockerfile do serviço chamado db, declarado no arquivo de stack. Diretório optativo;
- xpto/nginx: Diretório contendo o Dockerfile do serviço chamado nginx, declarado no arquivo de stack Diretório optativo;
Essa estrutura deve existir no repositório do projeto que será alvo do deploy. O papel do script é apenas acessar esse diretório e automatizar os processos de build e deploy. Essa estrutura também padroniza o nome/tag das imagens que são construidas via ./pencilctl_lite build.
Supondo a stack xpto, o comando para buildar a imagem do server seria:
./pencilctl_lite.sh build --docker_path=/home/user/xpto/docker --service=server --stack=xpto
Este comando geraria a imagem 127.0.0.1:5000/xpto_server:stable-prod.
O comando para fazer deploy da stack:
./pencilctl_lite.sh deploy --docker_path=/home/user/xpto/docker --stack=xpto
Este comando geraria a stack xpto_prod.
Para saber quais comandos o script possui e quais argumentos ele recebe, basta executar:
./pencilctl_lite.sh help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pencilctl-lite-0.0.9.tar.gz.
File metadata
- Download URL: pencilctl-lite-0.0.9.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.11.0 Linux/6.0.10-300.fc37.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7a92238a7a1ce4311ef287c5fe624fc61c9dd6e4000bad656571e35dfc1bfd4
|
|
| MD5 |
4758134faa4c589a7b61c6f4509f1e22
|
|
| BLAKE2b-256 |
30f967d197b2dbf321ba7f6a55b0d3cd4d3cd004b3166f5f86be39d80fc28a6d
|
File details
Details for the file pencilctl_lite-0.0.9-py3-none-any.whl.
File metadata
- Download URL: pencilctl_lite-0.0.9-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.14 CPython/3.11.0 Linux/6.0.10-300.fc37.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ae9ab6b880114bbe36503f5a6f355a021e450e9fd3241480ec32c815f74d148
|
|
| MD5 |
c12d4913cd08cdc03434c31e28f67304
|
|
| BLAKE2b-256 |
6fe292e76ebce555edf4f98974abde178d318862a294e928bad3edbc7204d0d2
|