Debian squeezeにJenkins-ciインストールがあります。
現在のデフォルトのタイムゾーン:「アメリカ/トロント」 現地時間は今:月7月9日16:00:57 EDT 2012。 :00:57 UTC 2012。
/ etc/default/rcSファイルには、
UTC =いいえ
残念ながらこれは機能していません、ジェンキンスのシステム情報では:
user.timezone Etc/UTC
私は数時間検索しました。残念ながら修正を見つけることができませんでした。
お時間をありがとう
Jenkinsを起動するときに、必要なuser.timezoneの値をJVM引数として渡す必要があります。 Javaコマンドラインは次のようになります:
$Java_HOME/Java -Duser.timezone="America/Toronto" [other JVM parameters] $JENKINS_HOME/jenkins.jar
残念ながら、私はDebianのインストールに精通していませんが、JVMパラメータは/etc/init.d/jenkinsスクリプトまたはそのスクリプトから参照されるプロパティファイルで定義する必要があります。
3年後、私はこれを機能させるいくつかの落とし穴を見つけました。そこで、受け入れられた回答(正しい)について詳しく説明し、CentOSの完全な回答を追加します。
現在のジェンキンス タイムゾーンの変更に関するドキュメント はuser.timezone
またはorg.Apache.commons.jelly.tags.fmt.timeZone
。しかし、私はbothが必要であることを発見しました。ゼリーの1つはJenkins本体とsomeプラグインで機能し、ユーザーの1つは他のプラグインで機能します。
米国東部のCentOSの場合は、/etc/sysconfig/jenkins
から:
JENKINS_Java_OPTIONS="-Dorg.Apache.commons.jelly.tags.fmt.timeZone=America/New_York -Duser.timezone=America/New_York"
JENKINS_ARGS=""
これらを入れれば-D
設定をJENKINS_ARGS
、機能しません。
コマンドライン、サービス全体から再起動する必要があります。 Jenkinsの安全な再起動を行うだけで十分ですnotで十分です。そう:
Sudo service jenkins restart
これをすべて完了したら、Jenkinsシステム情報パネルでbothタイムゾーン設定が一致することを確認します。 http://jenkins.example.com/systemInfo
Ubuntu 14.04では、上記のソリューションはどれもうまくいきませんでしたが、次のコマンドを実行して、タイムゾーンをデフォルト(選択されていないもの)からより具体的なものに変更できるインターフェイスをプルアップしました。
Sudo dpkg-reconfigure tzdata
まず、大陸(つまり、アメリカ、アジアなど)を選択し、次に都市を選択するように求められます。私の場合は、インドのISTタイムゾーンの「アジア/コルカタ」が選択されています。
buntuTime-コマンドラインの使用 を参照してください。
さらに、タイムゾーンを変更した後、Jenkinsを再起動しました。
Sudo /etc/init.d/jenkins stop Sudo /etc/init.d/jenkins start
次に、時間がローカルIST時間であることを確認しました。 http://<yourservername>/systemInfo
、ユーザーのビショップから提供されたシステムのプロパティセクションの「user.timezone」プロパティで、「Asia/Kolkata」の値が表示されます。
これがcronスケジュールに基づくジョブの実行に関連している場合(つまり、定期的にビルド)、ジョブごとにcronスケジュールでタイムゾーンを設定できます。
TZ=Europe/Dublin
0 7 * * 1-5
Apache TomcatでJenkinsを実行している場合は、これらを<Apache-Tomcat-Dir> /conf/catalina.propertiesに追加します。
user.timezone=America/New_York
org.Apache.commons.jelly.tags.fmt.timeZone=America/New_York
両方が必要です。
CentOS 7.1(docker内)上のjenkins v2.73.3の場合、両方を実行する必要があることがわかりました
1。OSタイムゾーンを設定例'ln -sf/usr/share/zoneinfo/Asia/Jakarta/etc/localtime'および
2。[Jenkinsの管理]でタイムゾーンを設定例「アジア/ジャカルタ」。
通常のjenkins:xxxx/restartの後、新しいタイムゾーンが使用されます。
CentOSのdockerコンテナーでjenkinsを実行するの場合の状況をカバーする回答を追加します。この場合、オプションは/ etc/sysconfig/jenkinsで設定されない場合があります(jenkinsサービスの開始スクリプトによって異なります)。 jenkins.shスクリプトは、jenkinsサービスを開始するために使用されます。このjenkins.shスクリプトは、jenkins-inside-dockerプロジェクトで使用されるスクリプトに類似しているため、この回答は、それから派生するdockerプロジェクトのすべてのjenkinsに役立つはずです。
https://github.com/jenkinsci/docker/blob/master/jenkins.sh
以下ではTZを取得します。 Europe/Dublinと-e $ TZをdocker runに渡して、それを/ etc/timezoneに書き込むか/ etc/localtimeにリンクするスクリプトを作成できるようにしますが、重要なことは、Java_OPTSで次の2つの引数を渡すことです: "-Dorg.Apache .commons.jelly.tags.fmt.timeZone = $ TZ -Duser.timezone = $ TZ "。 jenkins.shスクリプトは、これらをjenkinsプロセスを開始するコマンドラインに渡します。
Docker runコマンドのコンテナーの例を作成するときのdocker Host:
TZFILE=$(readlink -f /etc/localtime)
TZ=$(echo $TZFILE|sed s#.*zoneinfo\/##)
TZARG=" -e $TZ "
ID=$(docker run $TARG \
-d \
--user=jenkins \
--name jenkins-${USER} \
--restart always \
-p $Host_IP:$JENKINS_PORT:${JENKINS_PORT_INTERNAL} \
-p $Host_IP:$JENKINS_SLAVE_PORT:50000 \
$TZARG \
--env Java_OPTS="-Dhudson.Main.development=true \
-Dhudson.footerURL=$JENKINS_URL \
-Dorg.Apache.commons.jelly.tags.fmt.timeZone=$TZ -Duser.timezone=$TZ \
-Xms800M -Xmx800M -Xmn400M \
" \
--env JENKINS_HOME=/var/jenkins_home \
-v $JENKINS_DIR:/var/jenkins_home \
$VARGS \
$ADDITIONALARGS \
$IMAGE \
/bin/tini /usr/local/bin/jenkins.sh \
)
echo "INFO: container ID:$ID" |tee JENKINS.CONTAINER.ID
オプションはdocker runコマンドのdocker変数に渡され、次にjenkins startコマンドに渡されました。