O Doc Generator AI é uma aplicação avançada que automatiza a geração de manuais técnicos detalhados utilizando inteligência artificial. Todos os manuais presentes nesse repositório foram gerados on cloud usando arquitetura de cloud nativa, prática de CD e remote reployment e remote execution para geração dos artefatos usando Github Actions. Todo código nesse repositório foi gerado de forma 100 % automática usando a Ia do google Gemini em ambiente cloud do proprio github actions. Este projeto faz parte do meu portfólio pessoal de DevOps e exemplifica a implementação completa do ciclo CI/CD e automação de DevOps, integrado com soluções de IA.
Este projeto demonstra um exemplo prático de automação de CI/CD para geração de documentação usando GitHub Actions, destacando minha habilidade em desenvolvimento de automação, integração contínua e entrega contínua (CI/CD), e uso de ferramentas de automação para melhorar eficiência e consistência no ciclo de desenvolvimento de software.
Este repositório exemplifica a automação de documentação para projetos de IA e Python, integrando práticas avançadas de CI/CD e DevOps. Utiliza GitHub Actions para gerar documentação automaticamente a partir do código fonte.
- 📝 Geração de Conteúdo: Utiliza APIs avançadas de linguagem para gerar conteúdo técnico detalhado e estilizado.
- ⚙️ Automação de Tarefas: Geração automática de manuais baseados em temas fornecidos, com subdivisão em subtemas e criação de títulos específicos.
- 💾 Armazenamento de Artefatos: Os manuais gerados são salvos como arquivos
/manuals/- 💾 **Armazenamento de Artefatos**: Os manuais gerados são salvos como arquivos
.md` para fácil acesso e leitura. - 🛠️ Pipeline CI/CD Completo: Implementação de workflows GitHub Actions para automação de testes, build e deploy.
- 📈 Integração Contínua: Verificação automática de dependências e integridade do código.
- 🚀 Entrega Contínua: Deploy automatizado de atualizações e novas versões dos manuais.
- Python 🐍: Linguagem principal utilizada para desenvolvimento do script de geração de conteúdo.
- GitHub Actions 🛠️: Ferramenta de CI/CD para automação do ciclo de vida do software.
- API de Linguagem 🌐: Utilizada para gerar o conteúdo dos manuais.
- Markdown 📄: Formato utilizado para salvar os manuais gerados.
O fluxo de trabalho está configurado com GitHub Actions para realizar CI/CD, garantindo que a documentação seja atualizada automaticamente a cada alteração no código. A imagem abaixo mostra a Action executando a geração de documentação diretamente neste repositório:
-
Verificação Inicial
- 📂 Checkout do Repositório
- Utiliza o
actions/checkout@v2
para obter o código do repositório.
- Utiliza o
- 📂 Checkout do Repositório
-
Configuração do Ambiente
-
🐍 Setup Python 3.11
- Usa
actions/setup-python@v2
para configurar o ambiente Python 3.11.
- Usa
-
📦 Instalação de Dependências
- Instala a biblioteca
requests
para comunicação com a API Gemini.
- Instala a biblioteca
-
-
Preparação do Script
doc-gen.py
- 🛠️ Verificação e Preparação
- Verifica a existência do script
doc-gen.py
e o torna executável, se necessário.
- Verifica a existência do script
- 🛠️ Verificação e Preparação
-
Geração de Manuais
-
📝 Configuração de Tema
- Define o tema dos manuais através da variável de ambiente
TEMA
.
- Define o tema dos manuais através da variável de ambiente
-
🤖 Execução do Script
doc-gen.py
- Utiliza o script para gerar conteúdo textual baseado no tema especificado.
-
Os manuais são gerados e disponibilizados automaticamente no ambiente de execução do projeto. Abaixo está um exemplo dos manuais gerados no ambiente de execução, antes de serem enviados para o repo do projeto:
-
Processamento Paralelo
- ⚙️ ThreadPoolExecutor
- Processa múltiplos manuais em paralelo para otimização de desempenho.
- ⚙️ ThreadPoolExecutor
-
Verificação de Artefatos
- 📂 Verificação de Manuais Gerados
- Examina o diretório de artefatos para confirmar a geração bem-sucedida dos manuais.
- 📂 Verificação de Manuais Gerados
-
Commit e Push Automatizados
-
🔄 Configuração do Git
- Define configurações globais de usuário para commits automatizados.
-
📦 Commit de Alterações
- Adiciona e commita os manuais gerados de volta ao repositório.
-
🚀 Push para o Repositório
- Utiliza o token de acesso GitHub para push automático das alterações para a branch
main
.
- Utiliza o token de acesso GitHub para push automático das alterações para a branch
-
Este diagrama ilustra as etapas detalhadas do processo de automação para a geração de manuais técnicos, mostrando como cada passo contribui para a eficiência e consistência na produção de documentação. 🌟🔧
Este repositório contém um fluxo de trabalho automatizado para gerar e commitar manuais automaticamente no GitHub. Utiliza GitHub Actions para executar o script doc-gen.py
, que gera manuais baseados em temas específicos fornecidos como variáveis de ambiente.
-
Automação de Geração de Manuais: Utiliza Python 3.11 para executar o script
doc-gen.py
, que interage com a API de geração de conteúdo do Google Gemini. -
CI/CD Automatizado: Configurado para rodar no evento de push para a branch
main
, garantindo a geração automática de manuais sempre que há atualizações no código. -
Verificação e Commit: Após a geração dos manuais, verifica se os artefatos foram gerados corretamente e realiza um commit com as alterações no repositório.
-
Configuração do Git: Configura o Git dentro do ambiente de execução para permitir commits automatizados.
-
Checkout do Repositório:
- Utiliza
actions/checkout
para clonar o repositório no ambiente de execução do GitHub Actions.
- Utiliza
-
Configuração do Ambiente Python:
- Usa
actions/setup-python
para configurar a versão 3.11 do Python, necessária para executar o scriptdoc-gen.py
.
- Usa
-
Instalação da Biblioteca Requests:
- Garante que a biblioteca
requests
esteja instalada para fazer requisições HTTP necessárias no script.
- Garante que a biblioteca
-
Verificação e Permissão do Script:
- Verifica se o script
doc-gen.py
existe e o torna executável usandochmod +x
.
- Verifica se o script
-
Execução do Script de Geração de Manuais:
- Define variáveis de ambiente, como
GOOGLEAPIKEY
eTEMA
, necessárias para a execução do script, e executa-o passando o tema como argumento.
- Define variáveis de ambiente, como
-
Verificação dos Artefatos Gerados:
- Após a execução do script, lista os artefatos gerados para verificar se foram criados corretamente.
-
Configuração do Git para Commit Automático:
- Configura o nome e e-mail do usuário Git para permitir commits automáticos usando o GitHub Actions.
-
Commit Automático das Alterações:
- Adiciona as alterações feitas (os manuais gerados) ao índice do Git e realiza um commit com uma mensagem padronizada contendo o tema dos manuais gerados.
-
Push das Mudanças de Volta para o Repositório:
- Empurra as alterações com os novos manuais gerados de volta para a branch
main
do repositório remoto.
- Empurra as alterações com os novos manuais gerados de volta para a branch
Certifique-se de configurar a variável de ambiente GOOGLEAPIKEY
como um segredo no GitHub para garantir a segurança da chave de API utilizada na integração com o Google Gemini.
Para ver o fluxo de trabalho completo configurado em YAML, consulte .github/workflows/generate-docs.yaml
.
Este projeto utiliza um script Python chamado doc-gen.py
para automatizar a geração de manuais de forma inteligente e eficiente. A seguir, detalhamos como esse script é integrado em um fluxo de trabalho automatizado de CI/CD e DevOps.
O arquivo doc-gen.py
é o núcleo deste projeto, responsável por integrar a lógica de geração de conteúdo utilizando a API Google Gemini para criar manuais detalhados com base em temas específicos.
Funcionalidades Principais:
-
Geração de Nome Único: Utiliza hash SHA-256 para gerar nomes únicos para os manuais, garantindo identificação única.
-
Requisição à API Gemini: Envia requisições à API Google Gemini para gerar conteúdo textual baseado em prompts específicos.
-
Processamento em Paralelo: Utiliza
ThreadPoolExecutor
para processar múltiplos manuais simultaneamente, otimizando o tempo de geração.
No fluxo de trabalho de automação CI/CD, o doc-gen.py
é acionado por meio de GitHub Actions, configurado para executar as seguintes etapas:
-
Instalação e Configuração:
- Configura o ambiente Python 3.11.
- Instala a biblioteca
requests
para comunicação com a API.
-
Verificação e Preparação:
- Verifica a existência do script
doc-gen.py
. - Torna o script executável caso necessário.
- Verifica a existência do script
-
Geração de Manuais:
- Define o tema dos manuais através de variáveis de ambiente.
- Utiliza o script para gerar manuais com base no tema especificado.
-
Verificação de Artefatos:
- Verifica os manuais gerados no diretório de artefatos para garantir a conclusão bem-sucedida.
-
Commit e Push Automatizados:
- Configura o Git para commit e push das alterações feitas pelos manuais gerados de volta para o repositório principal.
Este projeto demonstra minha habilidade em integrar IA com práticas DevOps para automação de processos, proporcionando eficiência e qualidade na entrega de documentação técnica avançada. 🚀✨
git clone https://github.com/chaos4455/doc-generator-ai.git
cd doc-generator-ai
- Configurar Variáveis de Ambiente Certifique-se de definir a chave da API para a geração de conteúdo:
export GOOGLEAPIKEY="sua_chave_api_aqui"
export TEMA="itil v3 e service management no ambiente windows" # Defina o tema desejado
- Executar o Script
python doc-gen.py "$TEMA"
- Verificar os Artefatos Gerados Os manuais gerados serão armazenados no diretório artifacts.
🛠️ Estrutura do Projeto
.
├── doc-gen.py # Script principal de geração de conteúdo
├── README/manuals/├── README.md # Documentação do projeto
├── .github
│ └── workflows
│ └── generate-manuals.yml # Workflow do GitHub Actions
└── artifacts # Diretório para armazenar os manuais gerados
🌍 Ciclo DevOps
Integração Contínua (CI)
GitHub Actions: Workflows configurados para testar, construir e verificar o código automaticamente em cada push para a branch principal.
Entrega Contínua (CD)
Automação de Deploy: Os manuais gerados são automaticamente commitados e pushados para o repositório, garantindo que a documentação esteja sempre atualizada.
Monitoramento e Feedback
Notificações: Alertas e logs configurados para monitorar o sucesso das execuções dos workflows e identificar rapidamente qualquer falha.
🤖 Automatização Inteligente
IA na Geração de Conteúdo: Uso de APIs avançadas de processamento de linguagem natural para criar manuais ricos em detalhes, bem estruturados e visualmente agradáveis.
🏆 Destaques do Projeto
Escalabilidade: Capaz de gerar dezenas de manuais simultaneamente usando processamento paralelo.
Personalização: Fácil configuração para diferentes temas e subtemas.
Eficiência: Reduz o tempo de criação de documentação técnica, permitindo que os profissionais de TI se concentrem em tarefas mais críticas.
🤝 Contribuição
Sinta-se à vontade para contribuir com melhorias, correções ou novas funcionalidades. Basta seguir os passos abaixo:
Faça um fork deste repositório. Crie uma nova branch (git checkout -b feature/nova-funcionalidade). Faça commit das suas alterações (git commit -m 'Adiciona nova funcionalidade'). Faça push para a branch (git push origin feature/nova-funcionalidade). Abra um Pull Request (PR). Configurando o Fork Para executar corretamente o workflow, siga os passos abaixo:
Cadastre a API Key do Google Gemini como um Secret:
Vá para a aba Settings do seu repositório fork. Clique em Secrets e depois em Actions. Adicione um novo secret chamado GOOGLEAPIKEY com sua chave da API do Google Gemini. Dê Permissões para a Action Executar Commits:
Vá para a aba Settings do seu repositório fork. Clique em Actions e depois em General. Em Workflow permissions, selecione Read and write permissions. Aprovando Pull Requests Para aprovar um Pull Request:
Vá para a aba Pull requests do repositório. Clique no PR que deseja revisar. Revise as mudanças propostas e, se estiverem de acordo, clique em Merge pull request.
📄 Licença Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.