Ini adalah proyek web yang ditulis dalam Java.
Jadi, saya menulis skrip build dan deploy. Untuk membuat build, saya menggunakan semut. Pembangunan berkelanjutan dilakukan dengan Jenkins.
Membangun menghasilkan 3 artefak yang berbeda:
- File perang
- Zip dengan layout
- Zip dengan gambar
Sejauh ini, sangat bagus, tapi sekarang saya perlu menulis skrip deploy, yang seharusnya:
- Menyebarkan perang (artefak 1) ke kucing jantan yang berjalan di server 1
- Tempatkan artefak 2 di server 1 dalam direktori tertentu
- Tempatkan artefak 3 di server 2 dalam direktori tertentu
Jadi saya berbicara dengan kolega saya dan dia berkata bahwa kita juga harus membuat artefak (mungkin deploy.xml ) yang menyebarkan artefak ini ketika ditempatkan di server yang benar.
Jadi akan ada skrip lain, yaitu:
- Unduh artefak jenkins
- scp ke setiap server dan letakkan deploy.xml di sana
- panggil deploy.xml dari jarak jauh
Yang membuat saya sedikit tidak nyaman adalah tindakan memiliki deploy.xml sebagai artefak build. Motivasi di balik ini adalah untuk dapat membuat penyebaran tanpa perlu memiliki akses ke repositori VCS, sehingga membangun akan mandiri, yaitu, setiap bangunan bisa masuk ke produksi hanya dengan apa yang dihasilkan oleh Jenkins.
Di mana skrip penempatan harus ditempatkan? Haruskah mereka hanya di VCS atau haruskah mereka membangun artefak juga?