Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felipebarrosd/ansible-azure-pipeline-automation
Scripts e configurações para automatizar a criação de pipelines no Azure DevOps usando o Ansible AWX.
https://github.com/felipebarrosd/ansible-azure-pipeline-automation
ansible ansible-playbook awx-ansible azure-devops azure-pipelines docker-compose
Last synced: 2 days ago
JSON representation
Scripts e configurações para automatizar a criação de pipelines no Azure DevOps usando o Ansible AWX.
- Host: GitHub
- URL: https://github.com/felipebarrosd/ansible-azure-pipeline-automation
- Owner: felipebarrosd
- Created: 2025-01-12T20:00:57.000Z (22 days ago)
- Default Branch: main
- Last Pushed: 2025-01-12T20:00:59.000Z (22 days ago)
- Last Synced: 2025-01-19T17:50:49.410Z (16 days ago)
- Topics: ansible, ansible-playbook, awx-ansible, azure-devops, azure-pipelines, docker-compose
- Language: Jinja
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Automação de Criação de Azure Pipelines com Ansible AWX
Este repositório contém scripts e configurações para automatizar a criação de pipelines no Azure DevOps usando o **Ansible AWX**. O objetivo é facilitar a criação de arquivos YAML para pipelines, Dockerfiles dinâmicos, e pipelines no Azure DevOps, utilizando um fluxo completamente automatizado.
---
## Funcionalidades
- **Criação dinâmica de arquivos YAML**: Gera arquivos de configuração YAML para pipelines com base em templates.
- **Geração de Dockerfiles personalizados**: Cria Dockerfiles configurados com base em variáveis fornecidas pelo usuário.
- **Integração com Azure DevOps**: Realiza commit e push de arquivos diretamente no repositório do Azure DevOps.
- **Criação automática de pipelines no Azure DevOps**: Utiliza a API do Azure DevOps para criar pipelines configuradas.---
## Estrutura do Repositório
```
.
├── templates/
│ ├── pipeline.j2 # Template para o arquivo YAML da pipeline
│ └── Dockerfile.j2 # Template para o Dockerfile
├── playbook.yml # Playbook principal para automação
├── docker-compose.yml # Configuração para executar o AWX
└── README.md # Documentação do projeto
```---
## Pré-requisitos
- Docker e Docker Compose instalados
- Token de acesso pessoal (PAT) do Azure DevOps
- Instância configurada do Ansible AWX---
## Configuração e Uso
### **1. Clonar o repositório**
```bash
git clone https://github.com/felipebarrosd/ansible-azure-pipeline-automation.git
cd ansible-azure-pipeline-automation
```### **2. Configurar o Docker Compose**
Inicie os serviços necessários para o AWX:
```bash
docker-compose up -d
```Acesse o AWX no navegador em: `http://localhost:8052`. Use as credenciais configuradas no arquivo `docker-compose.yml`.
### **3. Configurar Templates no AWX**
1. Crie um projeto no AWX vinculado a este repositório.
2. Adicione o arquivo `playbook.yml` como template de job.
3. Configure as variáveis necessárias como **Prompt on Launch** no template do AWX:- **azure_devops_pat**: Token de acesso ao Azure DevOps
- **organization**: Nome da organização no Azure DevOps
- **azure_project**: Nome do projeto no Azure DevOps
- **repository_name**: Nome do repositório no Azure DevOps
- **branch_name**: Branch onde os arquivos serão adicionados (ex.: `main`)
- **pipeline_name**: Nome do pipeline que será criado
- **yaml_path**: Caminho do arquivo YAML no repositório
- **dotnet_dll_name**: Nome do arquivo `.dll` (ex.: `Worker.dll`)
- **csproj**: Nome do arquivo `.csproj` (ex.: `MyApp.csproj`)### **4. Executar o Job no AWX**
Ao executar o template de job no AWX:
- Os arquivos YAML e Dockerfile serão gerados e adicionados ao repositório no Azure DevOps.
- Uma pipeline será automaticamente criada no Azure DevOps.