Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.