Main target: Jenkins CI automatically installed in multiple environments.

Video tutorial on managing automatic configuration on local and remote environments with Ansible.

What is configuration management?

Configuration management (CM) refers to a discipline for evaluating, coordinating, approving or disapproving, and implementing changes in artifacts that are used to construct and maintain software systems. An artifact may be a piece of hardware or software or documentation. CM enables the management of artifacts from the initial concept through design, implementation, testing, baselining, building, release, and maintenance.

What benefits does configuration management give us?

  • Reduce manual repetitive processes.
  • Create a software version known, reliable, proven and repeatable.
  • Achieve greater confidence in the project team.
  • Increase in quality; processes, products and team.
  • Increased responsiveness and innovation.

Tutorial:Requirements Link to heading

Complete list of software used:

This is the architecture that I follow:

Configuration Management - Arquitectura

The entire contents of the tutorial include:

Tutorial: Step by step Link to heading

1.Architecture Link to heading

2. Used software Link to heading

3.Configuring Vagrant via the Vagrantfile Link to heading

4. Creation of an Ansible Playbook for the Jenkins CI installation process Link to heading

5. Refactoring the Ansible Playbook to use Roles structure Link to heading

6. Port forwarding with Nginx Link to heading

7. Refactor the Ansible Playbook to accept Ubuntu 12 Link to heading

8. Jenkins CI automatically installed into Amazon AWS Linux OS Link to heading

9. Share versioned code on Github Link to heading