Skip to main content

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:

  1. Um cluster swarm tem que existir na máquina em que ele será executado;
  2. 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.
  3. O diretório docker/production, deve ter a seguinte estrutura:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pencilctl-lite-0.0.1.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pencilctl_lite-0.0.1-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file pencilctl-lite-0.0.1.tar.gz.

File metadata

  • Download URL: pencilctl-lite-0.0.1.tar.gz
  • Upload date:
  • Size: 3.1 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

Hashes for pencilctl-lite-0.0.1.tar.gz
Algorithm Hash digest
SHA256 47fc461e4377d7bc89e529aa73afb38b1542f082e957f7070f771c7c70d40525
MD5 a105826a51a7def0a483ff147363f114
BLAKE2b-256 255427fe02b6c7b736cf3b772e0b204d7fc8eb9276417f1525ffd0436cc08a56

See more details on using hashes here.

File details

Details for the file pencilctl_lite-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: pencilctl_lite-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.5 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

Hashes for pencilctl_lite-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0cbe9fe8eb851430c56dc12a4175216ea10b49c2e5c59d1899be45c1bfd55d4
MD5 69b7f2cfe3312050b1fca2e0afa58fb8
BLAKE2b-256 d11bd0b6b8a2e6e906b04004cdbb889d7dab89634e4cfe9600647a4ddc38d962

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page