This directory contains all automation scripts and configuration files for setting up and managing the simple-httpd development environment.
automation/
├── ansible/ # Ansible automation
│ ├── playbook.yml # Ansible playbook for VM setup
│ ├── inventory.ini # Ansible inventory file
│ ├── requirements.yml # Ansible Galaxy requirements
│ ├── Makefile.vm # Makefile for VM operations
│ ├── vagrant-boxes.yml # Vagrant box configurations
│ ├── scripts/ # Shell scripts for VM operations
│ │ ├── vm-ssh # SSH wrapper for VM
│ │ ├── vm-build # Build script for VM
│ │ ├── vm-test # Test script for VM
│ │ ├── setup-remote.sh # Remote setup script
│ │ └── build.sh # Build script
│ └── templates/ # Configuration templates
├── ci/ # CI/CD configuration
│ ├── Jenkinsfile # Jenkins pipeline
│ └── .travis.yml # Travis CI configuration
├── docker/ # Docker configuration
│ ├── Dockerfile # Docker image definition
│ ├── docker-compose.yml # Docker Compose configuration
│ └── examples/ # Docker examples
└── vagrant/ # Vagrant configuration
├── Vagrantfile # Main Vagrantfile
└── virtuals/ # Multi-VM configurations
├── ubuntu_dev/
└── centos_dev/
# Build and run with Docker Compose
cd automation/docker
docker-compose up -d
# Or from project root
docker-compose -f automation/docker/docker-compose.yml up -d# Start VM
cd automation/vagrant
vagrant up
# SSH into VM
vagrant ssh
# Build project
./automation/ansible/scripts/vm-build# Run playbook
ansible-playbook -i automation/ansible/inventory.ini automation/ansible/playbook.ymlThe Jenkins pipeline is located at automation/ci/Jenkinsfile. It supports:
- Multi-platform builds (Linux, macOS, Windows)
- Automated testing
- Static analysis
- Package generation
- Docker image building
The Travis CI configuration is located at automation/ci/.travis.yml. It provides:
- Automated builds on push
- Multi-platform testing
- Code coverage reporting
Docker files are located in automation/docker/:
Dockerfile- Multi-stage build for different distributionsdocker-compose.yml- Development and production configurationsexamples/- Example Docker configurations
Vagrant configuration is in automation/vagrant/:
Vagrantfile- Main Vagrant configurationvirtuals/- Multi-VM configurations for different distributions
Ansible automation is in automation/ansible/:
playbook.yml- Main playbook for environment setupinventory.ini- Host inventoryrequirements.yml- Ansible Galaxy dependenciesscripts/- Helper scripts for VM operationstemplates/- Configuration templates
For detailed documentation, see the individual README files in each subdirectory.
