Tag Info

Hot answers tagged

17

I couldn't find a built in tool so I made one: #!/usr/bin/python # # author: ajs # license: bsd # copyright: re2 import json import sys import urllib2 jenkinsUrl = "https://jenkins.example.com/job/" if len( sys.argv ) > 1 : jobName = sys.argv[1] else : sys.exit(1) try: jenkinsStream = urllib2.urlopen( jenkinsUrl + jobName + ...


15

Just in case you're using Nginx and not Apache, you might want to use proxy_redirect http:// https://; to rewrite the Location header as the response comes back from Jenkins. A complete nginx setup where SSL is terminated with Nginx and proxied internally to Jenkins using 8080 might look like this: upstream jenkins { server 127.0.0.1:8080 fail_timeout=0; ...


13

Debian If you installed Jenkins from the Debian package, you can modify /etc/default/jenkins and add the following line somewhere: HTTP_HOST=127.0.0.1 and then add --httpListenAddress=$HTTP_HOST to the JENKINS_ARGS so that it reads something like: JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT ...


12

Set the "Restrict where this job can be run" check box in your job configuration and specify the name of your slave. If you add more slaves later, you can set labels for each slave and specify those in your job configs.


10

This page should help you set it up behind Apache (which would handle HTTPS): http://wiki.hudson-ci.org/display/HUDSON/Running+Hudson+behind+Apache Apart from being a "normal" reverse-proxy, you'll need this (as shown on that page): Header edit Location ^http://www.example.com/hudson/ https://www.example.com/hudson/


8

By default sudo cannot be used without a TTY. In order to do so: Disable 'requiretty' in sudoers (using visudo) This should amount to commenting out 'Defaults requiretty' (using visudo) Ensure that your user is able to login without entering a password: Set 'NOPASSWD' in sudoers Create the user if the user does not exist Set visiblepw - this will allow ...


8

Jenkins kills all process spawn by the job. This can be disabled by setting the BUILD_ID environment variable to something else: export BUILD_ID=dontKillMe see https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller for details


8

Configure it to run on any port you like! 81. 8081. Anything really.


7

Orien is correct, it is the fork() system call triggered by ProcessBuilder or Runtime.exec or other means of the JVM executing an external process (e.g. another JVM running ant, a git command, etc.). There have been some posts on the Jenkins mailing lists about this: Cannot run program "git" ... error=12, Cannot allocate memory There is a nice description ...


7

Hudson/Jenkins doesn't quite work that way. It stores configurations and job information in /var/lib/jenkins by default (if you're using the .deb package). If you want to setup persistence for a specific application, that's something you'll want to handle yourself - Hudson is a continuous integration server, not a test framework. Check out the Wiki ...


7

Note that (as of sometime?) Jenkins can generate the key for you, all you need to do is set the --httpsPort=(portnum) parameter in JENKINS_ARGS. In my case I set JENKINS_PORT="-1" (disable http) and set --httpsPort=8080 which worked well for my own purposes. Just note that any port below 1000 generally requires root access, so pick a port higher than ...


6

OK, so I've managed to do it: you need Role Strategy Plugin enable this authentication strategy in Configure Global Security in Manage and Assign Roles / Manage Roles create new role anonymous and authenticated for both global and project roles in Global roles grant anonymous role right only to Overall / Read (this will at the very least access anonymous ...


6

You need to pass in your required value of user.timezone as a JVM argument when you start Jenkins. The Java command line will look something like: $JAVA_HOME/java -Duser.timezone="America/Toronto" [other JVM parameters] $JENKINS_HOME/jenkins.jar Unfortunately I'm not familiar with the Debian installation, but the JVM parameters should either be defined ...


5

I ran into this issue which was resolved by editing jenkins config file sudo vim /etc/default/jenkins edit HTTP_HOST, default 127.0.0.1 to HTTP_HOST=0.0.0.0


5

I am late but In future this will help to other people insted of https://username@bitbucket.org/username/repo.git replace this https://bitbucket.org/username/repo.git in the Git Repository URL


5

A former colleague of mine wrote this: https://github.com/txels/autojenkins which has a whole bunch of convenience features and API type stuff around working with a jenkins instance from Python..


5

The one issue that I see with your config is that: ProxyPassReverse / https://jenkins.example.com Should be: ProxyPassReverse / https://jenkins.example.com/ Seems like the service is sending http:// instead of https:// location headers (probably because your connection to its listener from Apache is unencrypted on the localhost listener), in ...


4

Check to see if a build is running or not I tried the Python script in the answer to this question, but couldn't get it to work. I don't know Python, and didn't want to invest any time in debugging, but was able to read enough of the script to gain inspiration from it. All I need to do is check to see if a build is running or not. To do that I used curl ...


4

When were you hit? Could it be the leap second problem that hit on both July 1st and recently on certain servers on August 1st, causing both Linux kernel crashes and Java CPU load problems? Here's one of the main references for the July leap, and a thread about the August leap.


4

It turns out the crutial info seems to be wget's "--auth-no-challenge" option which apparently is for obscure webserver configurations like Jenkins that don't follow expected protocol: wget --auth-no-challenge --user=joe.shmoe --password=secret \ --post-file=config.xml --no-check-certificate \ ...


4

You are telling the script to exit after the first line yourself, which each exit statement in the if blocks. If you want the logic of your script to stay the same but you want to print everything, let it print the output in a separate loop before processing and exiting. foreach $line (@output) { print $line; }


4

You can use any jdk (1.5+ 1.7+ for 1.608+) you want for Jenkins: this is separate from the JDK that a job would use (either a job running on the master, or on a slave). So it doesn't really matter: using one JDK for running Jenkins won't prevent you to use any other JDK for your jobs. Update 2015: Jenkins just said good by to JDK6 (2015-04-06) About ...


3

You need to set up an internal DNS server that replies for that domain in your LAN. You can set up BIND to do that, or any number of other programs will do the same thing. When you're in the LAN, set up DHCP to give you the internal DNS server as a primary. Here is some info about setting up the DNS server in OSX server.


3

You can download the plugins from http://mirrors.jenkins-ci.org/plugins/PLUGIN_NAME/latest/PLUGIN_NAME.hpi . Dropping them into jenkins/plugins/ will do the trick. Don't forget to restart Jenkins. Also, if you're using Chef instead of Puppet, the Jenkins cookbook will take care of installing plugins as well.


3

Try to add this after ProxyPassReverse. outsideaddress is your outside FQDN. RewriteEngine on RedirectMatch ^/(.*)$ http://outsideaddress/$1


3

Yes, it's possible. Go to Jenkins' configuration - Access Control - Security Realm. Choose LDAP or Delegate to servlet container (depends on where you want to put your LDAP config and how your Jenkins is running) and fill you LDAP informations. Then in Authorization part you can select a mode which will ask the LDAP for rights. You can use user's login or ...


3

EDIT 2 If running Jenkins on an Amazon EC2 instance, try setting HTTP_HOST to 0.0.0.0. You may not be able to bind the public interface IP directly. EDIT 1 Check /etc/default/jenkins instead if you installed directly from the .deb package. It appears Jenkins is listening on localhost (--httpListenAddress=127.0.0.1). In this configuration, Jenkins is ...


3

Your understanding is quite complete. The only thing i can add are that "master/slave" terminology use in jenkins/hudson is a little corrupted in my opinion. As the "slaves" are more like executors in distributed scheme of triggering jobs/builds/projects. I won't think that having 3 separate jenkins masters is reasonable in your situation. 1) - I'll have ...


3

I believe you will need a PrivateKeyEntry. You may have generated the CSR with open SSL instead of keytool. You can try: openssl pkcs12 -inkey /var/lib/jenkins/jenkins.key.pem -in /var/lib/jenkins/jenkins.crt.pem -export -out keys.pkcs12 keytool -importkeystore -srckeystore keys.pkcs12 -srcstoretype pkcs12 -destkeystore jenkins.jks See this for a ...


3

There have been some changes in the past, which broke the plugin: Gerrit 2.8 removed the deprecated approve command, which AFAIK broke the plugin, see discussion and Release Notes. This was fixed with 2.11.0-beta1, so I guess this is not the case for you. Gerrit 2.7 introduced the Stream Events privilege, which disallows users to receive stream events by ...



Only top voted, non community-wiki answers of a minimum length are eligible