{ "variables": { "cm": "puppet", "cm_version": "latest", "cleanup_pause": "", "headless": "{{env `headless`}}", "update": "true", "ssh_username": "vagrant", "ssh_password": "vagrant", "install_vagrant_key": "true", "http_proxy": "{{env `http_proxy`}}", "https_proxy": "{{env `https_proxy`}}", "ftp_proxy": "{{env `ftp_proxy`}}", "rsync_proxy": "{{env `rsync_proxy`}}", "no_proxy": "{{env `no_proxy`}}", "cleanup": "false", "ansible_config_path": "/etc/ansible", "ansible_config_file": "ansible.cfg", "ansible_log_file": "/var/tmp/ansible.log" }, "builders": [{ "type": "docker", "image": "ubuntu:trusty", "commit": true, "run_command": [ "-ti", "--privileged", "-v", "/sys/fs/cgroup:/sys/fs/cgroup", "-v", "/var/run/docker.sock:/var/run/docker.sock", "-d", "{{.Image}}", "/bin/bash" ] }], "provisioners": [{ "type": "shell", "execute_command": "echo 'vagrant' | sh '{{.Path}}'", "scripts": [ "playbooks/ubuntu/files/sudo.sh" ]}, { "type": "shell", "execute_command": "echo '{{user `ssh_password`}}' | {{ .Vars }} sudo -E -S sh '{{ .Path }}'", "inline": [ "echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers" ]}, { "type": "shell", "inline": ["sudo mkdir -p {{ user `ansible_config_path` }}"] }, { "type": "shell", "inline": [ "touch /tmp/ansible.cfg", "sudo mv /tmp/ansible.cfg {{ user `ansible_config_path` }}/{{ user `ansible_config_file` }}", "sudo echo '[defaults]' >> {{ user `ansible_config_path` }}/{{ user `ansible_config_file` }}", "sudo echo 'log_path = {{ user `ansible_log_file` }}' >> {{ user `ansible_config_path` }}/{{ user `ansible_config_file` }}", "sudo touch {{ user `ansible_log_file` }}", "sudo chmod 666 {{ user `ansible_log_file` }}" ]}, { "type": "shell", "environment_vars": [ "CM={{user `cm`}}", "CM_VERSION={{user `cm_version`}}", "CLEANUP_PAUSE={{user `cleanup_pause`}}", "UPDATE={{user `update`}}", "INSTALL_VAGRANT_KEY={{user `install_vagrant_key`}}", "SSH_USERNAME={{user `ssh_username`}}", "SSH_PASSWORD={{user `ssh_password`}}", "http_proxy={{user `http_proxy`}}", "https_proxy={{user `https_proxy`}}", "ftp_proxy={{user `ftp_proxy`}}", "rsync_proxy={{user `rsync_proxy`}}", "no_proxy={{user `no_proxy`}}" ], "execute_command": "echo 'vagrant' | {{.Vars}} sudo -E -S bash '{{.Path}}'", "scripts": [ "playbooks/ubuntu/files/update.sh", "playbooks/ubuntu/files/tools.sh", "playbooks/ubuntu/files/cmtool.sh", "playbooks/ubuntu/files/vagrant.sh", "playbooks/ubuntu/files/sshd.sh" ] }, { "type": "shell", "environment_vars": [ "CM=ansible", "CM_VERSION=latest" ], "script": "playbooks/ubuntu/files/cmtool.sh", "execute_command": "echo 'vagrant' | {{.Vars}} sudo -E -S bash '{{.Path}}'" }, { "type": "ansible-local", "playbook_dir": "playbooks", "playbook_file": "playbooks/build-main.yaml", "extra_arguments": ["--verbose"] }, { "type": "shell", "environment_vars": [ "cleanup={{user `cleanup`}}" ], "execute_command": "echo 'vagrant' | {{.Vars}} sudo -E -S bash '{{.Path}}'", "scripts": [ "playbooks/ubuntu/files/vmtool.sh", "playbooks/ubuntu/files/minimize.sh", "playbooks/ubuntu/files/cleanup.sh" ] }], "post-processors": [ [ { "type": "docker-tag", "repository": "bogdando/solar-master", "tag": "latest", "keep_input_artifact": false } ] ] }