Tag Info

Hot answers tagged

16

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 + ...


13

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; ...


12

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 ...


9

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.


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

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


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

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/


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 ...


6

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 ...


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 ...


5

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

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


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


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

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

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; }


3

I prefer curl.... curl "http://localhost:18080/jenkins/job/npm-package-aaa/config.xml" -si --data-binary "$XML" -H "Content-Type: text/xml"


3

According to the Internet: What are the .key files for? Short story: I strongly suggest backing up the files somewhere. As already mentioned in this thread, the secret.key is used to encrypt sensitive data in configuration files, e.g. the proxy password in update center. Without the key file these configuration values are useless.


3

I've been reading the following article, which is closely related: How do I tell Git for Windows where to find my private RSA key? and it gave a good hint: The HOME-Variable is crucial, but it didn't work out the way I thought. After a lot of reasearch and trying I found this article: ...


3

According to this thread, the only way to do so is to not run it as a service, but instead run it as a logged-on user, with a desktop. Personally, I had luck with the following settings: 1) write a batch file to launch the slave via JNLP/javaws 2) put said script into autostart 3) set the user to auto-login. This was all in a VM, so when I launched the VM ...


3

If you look in the hudson jobs dir for your project you'll see a builds directory. In this is a directory for each build. The last one in there sorted by time is the current one (running or finished). In there is a file called log which you can watch in realtime: # cd ~/.hudson/jobs/PROJECTNAMEHERE/builds # ls -ltr | tail -2 lrwxrwxrwx 1 m4 m4 19 Aug ...


3

Here is my nginx configuration file, even though I access Hudson through https (port 443): The trick with reverse proxy (Apache or Nginx) is to always keep the same path: If you want to redirect to a_long_and_complex_address/hudson, keep the /hudson part: myserver/hudson. Don't try to redirect myserver to a_long_and_complex_address/hudson: all sorts of ...


3

This has nothing to do with Hudson, and everything to do with your browser. If you want to preserve file permissions, I'd recommend having Hudson tar the files up, which will maintain the permissions when you extract it on a *nix system.


3

Absent a facility in the software itself that lets you do this, you've pretty much outlined the three options available to make it happen without working too hard. Looking at those options more closely: Option 3 sucks. Don't do it. Too complex and too much potential to screw up. Option 1 sucks less - You just need to remember to patch every time you ...


3

I assume that the "man upstairs" is aiming at a master branch/trunk that is always in a releasable state, hence the requirement of pretesting. This is inherently difficult with a centralized revision control system like Subversion and will most probably involve some sort of automatic branch-juggling & merging. I personally use git in conjunction with ...



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