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
Release files for pencilctl-lite 0.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pencilctl-lite-0.0.13.tar.gz | 3.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pencilctl_lite-0.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 kB
Release files / pencilctl-lite-0.0.13.tar.gz
| Download URL | pencilctl-lite-0.0.13.tar.gz |
|---|---|
| Size | 3.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
45365e7f063a3b5635b132e6e22e9d6e3b4feaab39569d652649901d1a096be7
|
|
BLAKE2b-256 checksum How to use checksums |
819591c8a94d5323c21e9fcb146b16b8f7d7478ae9ceeeead30ac9ad9c667cfa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.11.0 Linux/6.0.10-300.fc37.x86_64
|
Release files / pencilctl_lite-0.0.13-py3-none-any.whl
| Download URL | pencilctl_lite-0.0.13-py3-none-any.whl |
|---|---|
| Size | 3.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b76957bb2c8460fbefb1eff16aa049514881329cbedf8c83d6e5d317912c9af
|
|
BLAKE2b-256 checksum How to use checksums |
7982a1f8b66c7cbce9eb50712fdc1f4117ff28643a1418668cfff9ba2d5e753a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.14 CPython/3.11.0 Linux/6.0.10-300.fc37.x86_64
|