Vagrant und Jenkins aufsetzen

Ruby muß installiert sein
Git muß istalliert sein

Als Provider für Vagrant installieren wir VirtualBox
https://www.virtualbox.org/wiki/Downloads

Vagrant auf den Windows-Rechner installieren
https://www.vagrantup.com/
downloaden und installieren. Den Rechner neu starten.

Wir erstellen ein Projekt.
z.B.: c:\vagrant\symfony-test\

Hole dir das Vagrantfile mit dem du die VM aufsetzt und ausserdem den bootstrap für jenkins steuerst bzw. includest

[code filename=“Vagrantfile“]

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "precise32"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
config.vm.provision :shell, :path => "bootstrap.sh"
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network :forwarded_port, guest: 8080, host: 8080
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, ip: "192.168.33.10"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
config.vm.synced_folder "../../xampp_backup/htdocs/fashionsymfony", "/vagrant_data"
end

[/code]

Dann den bootstrap für die ci mit jenkins
darin enthalten sind diverse tools die wir für unser project benötigen

[code filename=“bootstrap.sh“]

#!/usr/bin/env bash
# Setup apt-get so we can install jenkins later on
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo echo 'deb http://pkg.jenkins-ci.org/debian binary/' >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y jenkins
# Install git
sudo apt-get install -y git
# Install Node.js
sudo apt-get install -y python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install -y nodejs
# Install global node modules
sudo npm install -g grunt-cli
sudo npm install -g karma
sudo npm install -g bower
# Install Compass
sudo gem install compass
# Install jenkins
sudo apt-get install -y jenkins
sleep 30
# Get client adapter to install plugins
wget http://localhost:8080/jnlpJars/jenkins-cli.jar
chmod +x jenkins-cli.jar
# Install plugins here.
java -jar jenkins-cli.jar -s http://localhost:8080/ install-plugin http://updates.jenkins-ci.org/download/plugins/git/1.4.0/git.hpi
# Restart jenkins for plugins to take affect.
java -jar jenkins-cli.jar -s http://localhost:8080/ restart

[/code]

auf der windows konsole
$ cd c:\vagrant\symfony-test\
$ vagrant up

die VM wird jetzt gebaut und jenkins wird aufgesetzt

im browser http://localhost:8080/
jenkins will ein unlock mit einem passwort

dazu gehe per git.sh in das projekt
$ cd c:\vagrant\symfony-test\
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword

das passwort für den jenkins unlock wird angezeigt
Dieses eingeben und loslegen