web-dev-qa-db-ja.com

ジェンキンスアクティブ(終了)

何らかの理由で、Jenkinsは常に機能しなくなり、再び機能させるにはjenkinsサービスを再起動する必要があります。これが発生するたびに、サービスは "active(exited)"ですが、ログには何もありません。私はUbuntu16.04を使用しています。

root@laran:~# service jenkins status
    ● jenkins.service - LSB: Start Jenkins at boot time
       Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
       Active: active (exited) since Sun 2017-03-05 06:09:46 EST; 6min ago
         Docs: man:systemd-sysv-generator(8)
      Process: 25459 ExecStop=/etc/init.d/jenkins stop (code=exited, status=0/SUCCESS)
      Process: 25477 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
7
Filip Sobol

おそらく、Linuxカーネルのoom-killer( "out-of memory killer")がJVMを強制終了しました。物理メモリがすべてのプロセスを収容するのに十分でなくなった場合、選択されたプロセスにSIGKILLシグナルを送信します。文字列oom-killerを含む行のjournalctlの出力を確認して、確認します。

oom-killerが一定期間後にのみ攻撃するのは正常です。通常、Linuxはプロセスが要求する仮想メモリの量に制限を課しません(したがって、JVMは512MiBに2 GiB of RAMただし、プロセスが実際に開始された場合割り当てられたメモリを使用して(あなたの場合:使用されたヒープの量が増加します)、カーネルはそれを見つける可能性があります物理メモリの量が十分ではなくなりました。これは、oom-killerが強制終了する有望な候補プロセスを選択するポイントです。Jenkinsは、大量のメモリを消費する非システムプロセスとして、次のような可能性が非常に高くなります。殺されるもの。

あなたは状況を解決することができます

  • システムに物理メモリを追加する
  • jVMメモリ設定の削減(例:ヒープの縮小)
10
Alex O

/var/lib/jenkinsでファイルとフォルダーのアクセス許可を設定すると、うまくいきました。

vim /etc/sysconfig/jenkins  
# make sure that $JENKINS_USER="jenkins"

chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
systemctl restart jenkins 
5
Batter

私の場合、journalctlは非常に明確なエラーを出しました。

Feb 01 15:21:27 localhost.localdomain polkitd[1421]: Registered Authentication Agent for unix-process:26095:1614590 (system bus name :1.190 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freede
Feb 01 15:21:27 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
Feb 01 15:21:27 localhost.localdomain runuser[26110]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: Starting Jenkins Feb 01, 2020 3:21:27 PM Main verifyJavaVersion
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: SEVERE: Running with Java class version 56 which is not in the list of supported versions: [52, 55]. Run with the --enable-future-Java flag to enable such be
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: Java.lang.UnsupportedClassVersionError: 56.0
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.verifyJavaVersion(Main.Java:174)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.main(Main.Java:142)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: Jenkins requires Java versions [8, 11] but you are running with Java 12 from /usr/Java/jdk-12.0.1
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: Java.lang.UnsupportedClassVersionError: 56.0
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.verifyJavaVersion(Main.Java:174)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.main(Main.Java:142)
Feb 01 15:21:28 localhost.localdomain runuser[26110]: pam_unix(runuser:session): session closed for user jenkins
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: [  OK  ]
Feb 01 15:21:28 localhost.localdomain systemd[1]: Started LSB: Jenkins Automation Server.

基本的に、私はJava 12.0で実行しています。これは、(まだ)サポートされていない56のクラスファイル形式です。

これはjenkins.noarch 0:2.204.2-1.1現在です

0
Ankur Agarwal

Jenkinsを更新しましたか?

もしそうなら、これを読んでください...

私の場合、構成を変更したのはJenkinsの更新でした。カスタムjenkinsポート(9090)が変更されました(更新後のデフォルトは8080)。 9090ポートでjenkinsダッシュボードを開くことができませんでした。だから私は言及された提案で試しました。絶対に誤解を招くとわかった_service status_ログとjournalctlログを確認しました。サービスは稼働中ですが、サービスjenkinsのステータスはActive: active (exited)を示しています。

Jenkins jvmプロセスが実行されていることを確認しました(実行中のJavaプロセスのリストを表示するjpsコマンドを使用)。

したがって、何が悪かったのかを理解する前に、jenkinsアップデートによって構成が変更されたかどうかを確認してくださいそしてjenkinsプロセスが他のポートのバックグラウンドですでに実行されているかどうかを確認してください。

0
Pawan

同じことが私にも起こりました。

最初にApacheをインストールし、後でJenkinsをインストールしてみました。 Apacheはローカルホストのポート8080を使用していたため、Jenkinsのデフォルトポートも8080であるため、Jenkinsを同じポートで実行することはできませんでした。

迅速な解決策:

Apacheを停止し、Jenkinsの起動を再試行してください。これにより、ステータスを「興奮」から「実行中」に変更できました。

これがお役に立てば幸いです。

0
Sanket