Esse repositório implementa uma API HTTP para validar o texto de uma senha
de acordo com alguns critérios. Entretanto, o código está incompleto e possui
bugs, o seu trabalho é consertá-lo, completá-lo e rodar o pipeline.
Este repositório foi desenvolvido utilizando o gerenciador de pacotes
poetry, mas você não precisa dele. Basta utilizar o arquivo
simple_web_api/requirements.txt
- Mínimo de 8 caracteres
- Pelo menos 1 número
- Pelo menos 1 caractere especial
- Pelo menos 1 letra maiúscula
- Pelo menos 1 letra minúscula
- Caracteres especiais não podem ser / ^ ~
Dependencies | Tested Version | Minimum Version | Url |
---|---|---|---|
Python | 3.11 | 3.7.5 | link |
Poetry (optional) | 1.2.0 | 1.0.0 | link |
$ git clone [email protected]:...XXXX.../2023-s1-ci.git
$ cd 2023-s1-ci/
$ python3 -m venv .venv
$ source .venv/bin/activate
$ cd simple_web_app
$ pip install -r requirements.txt
$ cd 2023-s1-ci/simple_web_app
$ uvicorn main:app --reload
$ cd 2023-s1-ci
$ pytest
- Criar uma conta no docker hub https://hub.docker.com/
- Criar access token no docker hub
- Criar variável mascarada docker_hub_token com este access_token no github
- Criar variável docker_hub_login com o seu espaço no docker hub no github
- Rodar os stages de build e release do pipeline
- Criar uma conta no deta https://www.deta.sh/
- Instalar cliente do deta e configurar projeto
$ curl -fsSL https://get.deta.dev/cli.sh | sh # instalar cliente deta
$ source ~/.bashrc # disponibilizar comando
$ deta login # logar na conta já criada
$ cd 2023-s1-ci # entrar na raiz do projeto
$ deta new —python simple_web_app # criar projeto no cloud deta
$ cd simple_web_app # entrar na pasta com código python
$ deta deploy # realizar deploy
$ deta visor enable # habilitar logs no cloud deta
- Gerar access token em settings no site deta
- Criar variável mascarada DETA_ACCESS_TOKEN no github
- Commitar modificações no arquivo simple_web_app/.deta/prog_info
- Criar variável PRODUCTION_URL no github com a URL do serviço na deta
- Seguir o fluxo de gerência de configuração até a branch main
- Disparar o job de deploy manualmente ao final da pipeline na main
$ cd 2023-s1-ci
$ docker build -t simple_web_app .
$ docker run --rm -p 8000:80 simple_web_app