Ada banyak cara untuk menambahkan nomor build dan waktu kompilasi di dalam program. Saya sarankan satu lagi yang tidak memerlukan Maven / Jenkins / Bamboo dan tidak melakukan di git.
Saya biasanya bekerja dengan Java sisi server, dan hampir semua aplikasi (Tomcat / Spring / Play ...) perlu menambahkan titik akhir, yang akan menunjukkan jumlah dan waktu perakitan aplikasi selama permintaan HTTP. Saya mencoba berbagai cara dan menemukan satu yang cocok untuk saya dalam segala hal. Proses integrasi dalam aplikasi Java apa pun membutuhkan waktu 5-10 menit.
Pertama, Anda perlu mendaftar untuk
Backendless dan membuat aplikasi di sana (Anda dapat menggunakan layanan lain yang dapat memberikan nomor dengan permintaan http, meningkatkannya setiap kali sebanyak 1). Setelah menerima APP_ID dari aplikasi, Anda juga perlu mendapatkan API_KEY di halaman
ini .
Setelah itu, Anda dapat menggunakan
kesempatan untuk mendapatkan bilangan bulat, yang akan meningkat sebesar 1 setelah setiap permintaan.
Agar nomor ini dapat masuk ke program, Anda perlu menggunakan perpustakaan OpenSource
kolobok saya. Tentukan ketergantungan perpustakaan di pom.xml atau build.gradle.
pakar<dependency> <groupId>com.github.ukman</groupId> <artifactId>kolobok</artifactId> <version>0.1.5</version> <scope>compile</scope> </dependency>
gradle compileOnly 'com.github.ukman:kolobok:0.1.5'
Tambahkan anotasi untuk bidang dalam kelas apa pun (jangan lupa untuk menulis APP_ID dan API_KEY yang benar di dalam parameter url).
import org.kolobok.annotation.*; public class Main { @BuildNumber(url = "https://api.backendless.com/${APP_ID}/${API_KEY}/counters/build/increment/get", method = "PUT") public static long bn; @CompileTime public static long ct; public static void main(String args[]) { System.out.println("Build number = " + bn + " compilation time " + new Date(ct)); } }
Sekarang, setelah setiap kompilasi ulang dari kelas Utama, Anda akan memiliki nomor baru di bidang bn dari urutan peningkatan angka, dan bidang ct akan memiliki waktu kompilasi. Artinya, sesuatu seperti akan masuk ke input kompiler.
public static long bn = 1;
Setelah membangun bertahap, file Main.java mungkin tidak dikompilasi ulang dan nilainya akan tetap sama, tetapi mereka biasanya melakukan pembersihan lengkap dari semua file yang dikompilasi sebelum membangun penuh, yang berarti nomor build akan diperbarui.
Anda sekarang dapat menggunakan variabel-variabel ini untuk menampilkan nomor build dan membangun waktu kepada pengguna.