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