Ghid Deploy Java Spring Boot folosind Git & GitHub
Acest ghid descrie pașii completi pentru publicarea proiectului micro-java pe subdomeniul micro-java.bytebook.xyz, de la Mac până pe VPS.
1. Salvarea și Publicarea Proiectului Local pe GitHub (de pe Mac)
Înainte de a conecta serverul, trebuie să trimiți tot codul scris pe Mac într-un repository securizat pe GitHub.
A. Creează Repository-ul pe GitHub.com
- Repository name:
micro-java - Privacy: Private sau Public
- IMPORTANT: Nu bifa opțiunile README, .gitignore sau license. Păstrează-l gol!
- Copiază linkul URL HTTPS (ex:
https://github.com/UTILIZATORUL_TAU/micro-java.git)
B. Pregătește Fișierul .gitignore (Pe Mac)
cd ~/Projects/micro-java
nano .gitignore
Lipește liniile următoare:
target/
.idea/
*.iml
.DS_Store
C. Inițializează Git și Trimite pe GitHub
git init
git add .
git commit -m "Initial commit - proiect micro-java"
git branch -M main
git remote add origin https://github.com/UTILIZATORUL_TAU/micro-java.git
git push -u origin main
2. Configurare Advanced DNS (Namecheap)
Adaugă o nouă înregistrare în panoul Namecheap pentru subdomeniu:
• Type: A Record
• Host: micro-java
• Value: 63.250.40.142 (IP-ul VPS-ului)
• TTL: Automatic
3. Clonare și Compilare Proiect pe VPS
ssh root@63.250.40.142
cd /root/projects
git clone https://github.com/UTILIZATORUL_TAU/micro-java.git
cd /root/projects/micro-java
mvn clean package -DskipTests
4. Configurare Reverse Proxy în Caddy
nano /etc/caddy/Caddyfile
Adaugă următorul bloc:
micro-java.bytebook.xyz {
reverse_proxy localhost:8080
}
Salvează și reîncarcă Caddy:
systemctl reload caddy
5. Configurare Serviciu Systemd pe VPS
nano /etc/systemd/system/spring-app.service
Lipește configurația:
[Unit]
Description=Java Spring Boot Application (micro-java)
After=network.target
[Service]
User=root
WorkingDirectory=/root/projects/micro-java
ExecStart=/usr/bin/java -jar /root/projects/micro-java/target/micro-java-1.0-SNAPSHOT.jar
Restart=always
[Install]
WantedBy=multi-user.target
Activează și pornește serviciul:
systemctl daemon-reload
systemctl enable spring-app
systemctl restart spring-app
6. Testare și Flux de Actualizare
Testare
Deschide browserul la adresa: https://micro-java.bytebook.xyz
Cum faci update când modifici codul pe Mac:
1. Pe Mac (Terminal):
git add .
git commit -m "Update cod"
git push
2. Pe VPS (prin SSH):
cd /root/projects/micro-java
git pull && mvn clean package -DskipTests && systemctl restart spring-app