Epic 1
2 minute read
🎯 Cel epiki
Stworzenie wirtualnej maszyny dla zespołu deweloperskiego, który zawiera niezbędne narzędzia do pracy.
- Utworzenie w
vagrant registryobrazuUbuntu 24.10 - Wykorzystanie
vagrantdo provisioning`u maszyny wirtualnej.
---
config:
theme: neo
layout: dagre
look: neo
---
flowchart LR
subgraph s1["Przygotowanie obrazu"]
n5@{ label: "Przygotowanie maszyny<br style=\"--tw-scale-x:\">wirtualnej na virtualbox" }
n6@{ label: "<span style=\"padding-left:\">Utworzenie box<br></span><span style=\"padding-left:\">(vagrant package)</span>" }
n7@{ label: "Wysłanie do<br style=\"--tw-scale-x:\">Vagrant box Registry" }
end
subgraph s2["Użycie obrazu (vagrant up)"]
n8["vagrant up"]
n9["run bootstrap.bash"]
n11["bash scripts"]
end
n5 --> n6
n6 --> n7
s1 --> s2
n8 --> n9
s2 --> n10("Ready to use")
n9 --> n11
n5@{ shape: rect}
n6@{ shape: rect}
n7@{ shape: rect}
n9@{ shape: lean-r}
n11@{ shape: procs}
Przygotowanie obrazu
- Utworzenie projektu w
Vagrant Box Registries - Instalacja manualna
Ubuntu server 24.10z użytkownikiemvagrantpasswordvagrant - Wykonanie skryptu poleceń na koncie
vagrantsudo apt-get update sudo apt-get dist-upgrade -y sudo apt install -y openssh-server curl wget sudo sudo apt install -y build-essential dkms linux-headers-$(uname -r) mkdir -p /home/vagrant/.ssh curl -fsSL https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub -o /home/vagrant/.ssh/authorized_keys chown -R vagrant:vagrant /home/vagrant/.ssh chmod 700 /home/vagrant/.ssh chmod 600 /home/vagrant/.ssh/authorized_keys echo "vagrant ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/vagrant - Przygotowanie maszyny wirtualnej do eksportu
vagrant package --base ubuntu-24.04-base --output ubuntu-24.04.box - Wysłanie obrazu do
Vagrant box Registry
Przygotowanie maszyny deweloperskiej
- ✅ Przygotowanie Vagrantfile
- ✅ Przygotowanie skryptu bootstrap
- ✅ Przygotowanie skryptu upgrade-ubuntu.bash
- ✅ Przygotowanie skryptu install-packages.bash
- ✅ Przygotowanie skryptu install-hashicorp.bash