Dari tes joel :
Bisakah Anda membuat build dalam satu langkah?
Saya harus mengatakan saya tidak bisa. Saat ini saya sedang mengerjakan aplikasi web yang memiliki daftar item spreadsheet yang harus dilakukan untuk digunakan. Jadi pertanyaan saya adalah bagaimana saya bisa mengotomatisasi ini ? Apakah harus luas organisasi? Kiat / teknik?
tools
builds
automation
billy.bob
sumber
sumber
Jawaban:
Make dapat mengotomatiskan proses pembuatan menjadi satu langkah. Make dapat melakukan hampir semua yang Anda inginkan. Saya tidak yakin mengapa sapporo berpikir bahwa Make hanya berlaku untuk C / C ++. Anda dapat menggunakan make untuk menjalankan semua jenis perintah. Bahkan tidak terikat dengan pemrograman meskipun itu adalah apa yang biasanya digunakan untuk.
sumber
Tergantung pada lingkungan Anda, Anda mungkin ingin melihat Make (C / C ++), Ant / Maven (Java), Gradle (Groovy) - itulah yang saya kenal. Peluangnya tinggi ada solusi populer untuk lingkungan Anda.
sumber
Di tempat kerja, kami menggunakan FinalBuilder , yang membuatnya mudah untuk membuat skrip untuk mengotomatiskan seluruh proses: memeriksa kode, membuat segalanya, menjalankan tes, membuat paket penempatan, dll.
Ini adalah alat yang sangat bagus, dan baru-baru ini memenangkan penghargaan Dr. Dobbs Jolt untuk alat Manajemen Perubahan dan Konfigurasi.
sumber
Tentu ada cara untuk mengotomatisasi ini. Dengan alat-alat seperti Chef , menyiapkan server baru yang baru diinstal dapat semudah:
Dalam kasus saya beberapa langkah yang dijalankan oleh perintah tunggal itu adalah:
Saya tidak yakin bagaimana Chef akan tampil di lingkungan Anda karena dukungan Windows terdaftar sebagai "pendahuluan", tetapi untuk sistem berbasis UNIX itu adalah lutut lebah.
Wayang adalah sistem serupa yang sedikit lebih tua dari koki dan dapat menawarkan dukungan Windows yang lebih baik.
sumber
Sangat mudah dengan Maven di dunia Jawa
Dalam konfigurasi kami, ini melakukan semua pembangunan yang diperlukan dari file WAR (menarik dependensi JAR sesuai kebutuhan), penyebaran ke server web dev dan pembuatan data uji kalengan pada database dev. Setelah itu selesai, Maven menangani pengujian fungsional komprehensif melalui SeleniumRC untuk memverifikasi aplikasi berfungsi.
Perintah tunggal ini membuat aplikasi sepenuhnya dikerahkan ke cluster server dev sehingga sudah tersedia untuk pengembang lain untuk segera bekerja dengannya (dengan asumsi itu lulus tes). Penyebaran dev gagal karena pengembang telah memverifikasi bahwa ia bekerja secara lokal
mvn clean install
.Artefak foto (PERANG) kemudian disalin ke dalam repositori Maven untuk dibagikan dengan pengembang lain (sesuai dengan
deploy
perilaku standar Maven ).OK, tetapi Anda hanya menggunakan snapshot untuk dev, bagaimana dengan pengujian dan produksi?
Distribusi ke pengujian dan (kemudian) server produksi ditangani melalui proses rilis Maven yang ingin kami tangani secara manual untuk memastikan bahwa seseorang mengawasi setiap keluaran yang mencurigakan. Penguji hanya bekerja dengan artefak yang dirilis, bukan snapshot.
Setelah dirilis maka skrip build sederhana digunakan untuk SFTP file WAR ke cluster server pengujian, lagi dengan seseorang yang menonton proses untuk memastikan tidak ada yang salah.
Akhirnya, setelah semua penguji senang, file WAR yang tidak berubah adalah SFTP hingga cluster server produksi failover, dengan seseorang mengawasi dengan cermat dan posisi rollback langsung jika terjadi bencana.
sumber
Saya pikir saya bisa memeriksa yang satu dari tes Joel kami jadi ...
Saya membuat server build dengan python otomatis menggunakan pychron .
Kode disinkronkan dengan VSS dari baris perintah, build dengan borland make (sebagian besar IDE akan membuat file make untuk Anda apakah mereka menyebutnya atau tidak. Delphi dulu memompa keluar membuat file dan memanggil mereka. File BPG, sekarang mereka ' ulang file MSBuild XML dan Anda dapat menggunakan MSBuild) dan kesalahan dimasukkan ke dalam file XML yang baru saja saya tambahkan.
Jadi .. Cukup tulis file batch dan lakukan hal-hal ini.
sumber