Libvirt vagrant fiel
This commit is contained in:
54
libvirtVagrantfile
Normal file
54
libvirtVagrantfile
Normal file
@@ -0,0 +1,54 @@
|
||||
Vagrant.configure("2") do |config|
|
||||
# Configuració global per a libvirt
|
||||
config.vm.provider :libvirt do |libvirt|
|
||||
libvirt.memory = 2048 # Recomanat per a Jenkins i Agents
|
||||
libvirt.cpus = 2
|
||||
end
|
||||
|
||||
# --- NODE JENKINS ---
|
||||
config.vm.define "jenkins" do |jenkins|
|
||||
jenkins.vm.box = "bento/ubuntu-24.04"
|
||||
jenkins.vm.hostname = "jenkins"
|
||||
# En libvirt, les IPs fixes es gestionen sovint via 'public_network'
|
||||
# o 'private_network' amb un bridge virtual.
|
||||
jenkins.vm.network "private_network", ip: "192.168.11.11"
|
||||
# Forwarded ports (libvirt els gestiona via NAT/iptables)
|
||||
jenkins.vm.network "forwarded_port", guest: 8080, host: 8080
|
||||
jenkins.vm.network "forwarded_port", guest: 50000, host: 50000
|
||||
jenkins.vm.provision :shell, :path => "jenkins.sh"
|
||||
end
|
||||
|
||||
# --- NODE AGENT ---
|
||||
config.vm.define "agent" do |agent|
|
||||
agent.vm.box = "bento/ubuntu-24.04"
|
||||
agent.vm.hostname = "agent"
|
||||
agent.vm.network "private_network", ip: "192.168.11.13"
|
||||
|
||||
# Ports de serveis (Docker, SonarQube, etc.)
|
||||
agent.vm.network "forwarded_port", guest: 2376, host: 2376
|
||||
agent.vm.network "forwarded_port", guest: 4243, host: 4243
|
||||
agent.vm.network "forwarded_port", guest: 9999, host: 9999
|
||||
agent.vm.network "forwarded_port", guest: 9000, host: 9000
|
||||
agent.vm.network "forwarded_port", guest: 3000, host: 3000
|
||||
agent.vm.network "forwarded_port", guest: 50000, host: 50001
|
||||
|
||||
# Rangs de ports per a contenidors dinàmics
|
||||
(32770..32900).each do |port|
|
||||
agent.vm.network :forwarded_port, guest: port, host: port
|
||||
end
|
||||
|
||||
# Provisioning
|
||||
agent.vm.provision :shell, :path => "ansible.sh"
|
||||
agent.vm.provision :shell, :path => "docker.sh"
|
||||
agent.vm.provision :shell, :path => "sonarqube.sh"
|
||||
agent.vm.provision :shell, :path => "terraform.sh"
|
||||
end
|
||||
|
||||
# --- NODE AGENT 2 ---
|
||||
config.vm.define "agent2" do |agent2|
|
||||
agent2.vm.box = "bento/ubuntu-24.04"
|
||||
agent2.vm.hostname = "agent2"
|
||||
agent2.vm.network "private_network", ip: "192.168.11.14"
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user