Jenkins/Hudson Ci Minimum Requirements for a Linux Rh Installation

Jenkins / Hudson CI Minimum Requirements for a linux RH installation

I've been maintaining a Jenkins / Sonar / Nexus and I pointed out a minimal configuration (Debian 5):

  • CPU : n/a (bye bye plain old school CPU at least ;) )
  • RAM : 1GB (I prefer 2)
  • HDD : depends on the needs. For my use, a 8 module J2EE Maven project + db scripts (6500 lines of code) represents less of 50 MB. I configured Jenkins to store 10 builds (500 MB)

However, if Jenkins has to manage several projects at the time, you have to consider few things:

  • keep Jenkins data in a separate directory of the system (default install may put those in /usr) with the Jenkins config way of your choice
  • mount a dedicated HDD partition on this directory and let you a way to manage space on disk (virtual drive, partition resizing tool...)
  • supervising activity to prevent space left and avoid an angry boss :) (Nagios for example)

Think about backup, other application on server, and a important thing - Jenkins resources depends on JVM capacity.

Running Jenkins on Ubuntu VPS with low amount of RAM (256 MB)?

There is no alternative to RAM except more RAM. Swap is not a replacement for RAM and is not usable like RAM.

1GB should be fine as I'm running a Jenkins on a VPS with 1GB. But it is not doing any heavy lifting there so depending on what you want to run more might be needed.

Jenkins / Hudson environment variables

Michael,

Two things:

When Jenkins connects to a computer, it goes to the sh shell, and not the bash shell (at least this is what I have noticed - I may be wrong). So any changes you make to $PATH in your bashrc file are not considered.

Also, any changes you make to $PATH in your local shell (one that you personally ssh into) will not show up in Jenkins.

To change the path that Jenkins uses, you have two options (AFAIK):

1) Edit your /etc/profile file and add the paths that you want there

2) Go to the configuration page of your slave, and add environment variable PATH, with value: $PATH:/followed-by/paths/you/want/to/add

If you use the second option, your System Information will still not show it, but your builds will see the added paths.

How to update Jenkins/Hudson through CLI

Are you referring to the Jenkins CLI, or the CLI on your operating system ? There is no way to update the Jenkins version via the Jenkins CLI.

If you installed Jenkins as a standalone WAR file, all you need to do to upgrade it from the command line is to download the new Jenkins WAR file and replace your current WAR file, then restart Jenkins. It's always a good idea to back up the full contents of your $JENKINS_HOME directory before upgrading.

If you used a native package such as an RPM or DEB, you should use the package manager on your Jenkins server (yum, apt-get etc.) to upgrade Jenkins.

Jenkins Server Suddenly Fails. Cannot reach GUI

alright a long time later I finally figured it out. Turns out winstone was not the issue, but rather file permissions were to blame. Some of the files in my jenkins folder /var/lib/jenkins/ had root as their owner rather than jenkins. There were some in .m2 some in .grails and just scattered all about, not sure how this happened.

Anyway I just navigated to the home dir of jenkins /var/lib/jenkins and ran the following command

chown -R jenkins:jenkins jenkins

centos 7.x jenkins2 on port 80

If you did not any further customization then it's probably Jenkins not starting up, not a firewall issue. That service is configured to start as user jenkins, but binding to ports below 1024 is restricted for root.

I run the same steps as you mentioned and it is clear in the logs:

# cat /var/log/jenkins/jenkins.log
...
2019-12-06 09:39:23.781+0000 [id=1] INFO winstone.Logger#logInternal: Jetty shutdown successfully
java.io.IOException: Failed to start Jetty
...
Caused by: java.net.SocketException: Permission denied
at sun.nio.ch.Net.bind0(Native Method)
...

# service jenkins status
jenkins dead but pid file exists

To make it work on port 80 you could technically change JENKINS_USER to root in /etc/sysconfig/jenkins and reprotect the files, but this is not recommended as it would be a great security hole. Better install nginx and configure it as a reverse proxy listening on port 80 and redirecting traffic to localhost:8080.



Related Topics



Leave a reply



Submit