This repository contains ressources needed for building and running a Continous Integration Plateform. The set of Continuous Integration Tools Services are defined as docker-compose stack using docker images and deploy on docker hosts.
This project is inspired from "docker-ci-tool-stack" ideas
Components | Tools | status |
---|---|---|
Source code management | GitLab | done |
Repository and artifact management | Nexus | done |
CI/CD Tool | Jenkins | done |
Data and Log Analysis | Elasticsearch/Logstash/Fluentd/Kibana | done |
Code Analysis | sonarqube | todo |
Browser Testing Tools | selenium grid | todo |
Chat | rocket.chat | todo |
This repository is the root of the ci tool stack. It contains, build tools to generate all components and deploy
Build steps will produce 3 directories
Repositories dependencies are defined in requirements files, and contains services and infrastructures components. Each services file are in other repositories
- to build services
- docker images
- ansible roles and playbook to configure services
- to deploy services
- ansible roles/playbooks: to deploy services and infrastructures components (docker-compose services on docker hosts)
- infrastructure plateforme definition: docker hosts in an openstack heat stack
All services are based on docker images derived from official images Repositories dependencies are defined in requirements-dev
Services (docker images and container) are deployed in docker-compose stack on docker host Configuration and infrastructure components are defined in ansible configuration, roles and playbook
- infrastructure docker-host : roles to install docker host
- services service-ci-tool-stack : roles to install all CI services via docker-compose assignation on docker host.
Services are deployed through docker-compose stack on dockers hosts. Those hosts are defined in heat stack in openstack cloud
- [To describe]