Saya memiliki instalasi Jenkins-ci pada pemerasan debian.
Zona waktu default saat ini: 'Amerika / Toronto' Waktu setempat sekarang jam 11 Jul 16:00:57 EDT 2012. Waktu Universal sekarang: Senin 9 Juli 20:00:57 UTC 2012.
Dalam file / etc / default / rcS yang saya miliki:
UTC = tidak
Sayangnya ini tidak berfungsi, dalam sistem informasi jenkins:
user.timezone Dll / UTC
Saya mencari beberapa jam .. sayangnya tidak dapat menemukan perbaikan, bantuan akan sangat dihargai.
Terima kasih untuk waktu anda
Jawaban:
Anda harus memberikan nilai user.timezone yang diperlukan sebagai argumen JVM saat Anda memulai Jenkins. Baris perintah Java akan terlihat seperti:
Sayangnya saya tidak terbiasa dengan instalasi Debian, tetapi parameter JVM harus didefinisikan dalam skrip /etc/init.d/jenkins atau dalam file properti yang dirujuk dari skrip itu.
sumber
/etc/init.d/rc.local
. Mungkin berhasil jika Anda memiliki skrip init Sysv untuk memulai Jenkins. Ada beberapa contoh di situs web Jenkins. TheUTC=no
dalam/etc/default/rcS
tidak ada hubungannya dengan zona waktu pada mesin Anda. Dikatakan jika waktu yang disimpan dalam jam perangkat keras adalah waktu setempat atau waktu UTC. Tentang mengatur waktu, menggunakanntp
atau daemon NTP lainnya sebagai klien, karena akan perlahan-lahan menyesuaikan waktu tanpa perjalanan waktu.Tiga tahun kemudian, saya menemukan beberapa gotchas berhasil. Jadi, saya akan menguraikan jawaban yang diterima (yang benar) dan menambahkan jawaban lengkap untuk CentOS.
Gotcha # 1: Pengaturan Jenkins untuk berubah
Dokumentasi Jenkins saat ini tentang mengubah zona waktu mengatakan untuk mendefinisikan
user.timezone
atauorg.apache.commons.jelly.tags.fmt.timeZone
. Tetapi, saya telah menemukan bahwa keduanya diperlukan. Jeli yang satu berfungsi untuk Jenkins yang tepat dan beberapa plugin, sementara yang satu bekerja untuk plugin yang lain.Gotcha # 2: Pengaturan OS untuk memperbarui
Untuk CentOS di AS Timur, edit
/etc/sysconfig/jenkins
ke:Jika Anda memasukkan
-D
pengaturan ini ke dalamJENKINS_ARGS
, itu tidak akan berfungsi.Gotcha # 3: Restart
Anda harus memulai kembali dari baris perintah, seluruh layanan. Cukup melakukan Jenkins restart yang aman tidak cukup. Begitu:
Ketika Anda sudah melakukan semua ini, periksa apakah kedua pengaturan zona waktu cocok di panel informasi sistem Jenkins Anda: http://jenkins.example.com/systemInfo
sumber
Di Ubuntu 14.04, tidak ada solusi di atas yang berfungsi untuk saya, tetapi saya akhirnya menjalankan perintah berikut, yang menarik antarmuka di mana zona waktu dapat diubah dari default (tidak ada yang dipilih) menjadi sesuatu yang lebih spesifik:
sudo dpkg-reconfigure tzdata
Pertama, Anda diminta untuk memilih benua, (yaitu Amerika, Asia, dll) dan kemudian kota, yang dalam kasus saya menghasilkan "Asia / Kolkata" untuk zona waktu IST di India.
Lihat UbuntuTime - Menggunakan Baris Perintah .
Selain itu, setelah mengubah zona waktu, saya memulai kembali Jenkins:
sudo /etc/init.d/jenkins stop sudo /etc/init.d/jenkins start
dan kemudian memverifikasi bahwa waktu itu dalam waktu IST lokal. Di
http://<yourservername>/systemInfo
, seperti yang disediakan oleh uskup pengguna, di bawah bagian System Properties, untuk properti "user.timezone", sekarang saya melihat "Asia / Kolkata" sebagai nilainya.sumber
Jika Anda menjalankan Jenkins di Apache Tomcat, tambahkan ini ke <Apache-Tomcat-Dir> /conf/catalina.properties:
Keduanya dibutuhkan.
sumber
Jika ini terkait dengan pelaksanaan pekerjaan berdasarkan jadwal cron (yaitu, Bangun Secara berkala), Anda dapat mengatur Zona Waktu Anda dalam jadwal cron berdasarkan per pekerjaan:
sumber
Untuk jenkins v2.73.3 pada CentOS 7.1 (di buruh pelabuhan) kami telah menemukan Anda harus keduanya
1. mengatur zona waktu OS mis. 'Ln -sf / usr / share / zoneinfo / Asia / Jakarta / etc / localtime' dan
2. di bawah Manage Jenkins atur zona waktu mis 'Asia / Jakarta'.
Setelah jenkins biasa: xxxx / restart zona waktu baru digunakan.
sumber
Menambahkan jawaban untuk menutupi situasi saat menjalankan jenkins dalam wadah buruh pelabuhan di bawah CentOS . Dalam hal ini opsi mungkin tidak diatur di / etc / sysconfig / jenkins (tergantung pada skrip mulai layanan jenkins Anda). Skrip jenkins.sh digunakan untuk memulai layanan jenkins. Skrip jenkins.sh ini mirip dengan yang digunakan oleh proyek jenkins-inside-docker sehingga jawaban ini mudah-mudahan bermanfaat bagi setiap jenkins dalam proyek buruh pelabuhan yang berasal dari itu.
https://github.com/jenkinsci/docker/blob/master/jenkins.sh
Di bawah ini kita mendapatkan TZ misalnya Eropa / Dublin dan meneruskan -e $ TZ untuk menjalankan docker sehingga kita dapat memiliki skrip yang menulis bahwa ke / etc / timezone atau tautan / etc / localtime tetapi yang penting adalah melewati dua argumen ini di JAVA_OPTS: "-Dorg.apache.commons.jelly.tags.fmt.timeZone = $ TZ -Duser.timezone = $ TZ". Skrip jenkins.sh meneruskan ini ke baris perintah yang memulai proses jenkins.
Pada host buruh pelabuhan ketika membuat contoh wadah perintah buruh pelabuhan:
Opsi diteruskan dalam variabel buruh pelabuhan di buruh pelabuhan menjalankan perintah dan kemudian diteruskan ke perintah mulai jenkins.
sumber