stisti / jenkins-app Goto Github PK
View Code? Open in Web Editor NEWMake Jenkins behave like a Mac application to make it easier to manage.
Make Jenkins behave like a Mac application to make it easier to manage.
Jenkins.app fails silently if Library/Caches folder does not exist.
I have just installed and started Jenkins.app.
But I see it cannot find any of the plugins: http://cl.ly/image/420v1a3i383b
So it is totally unusable now.
Please fix this.
Thanks.
After running a few jobs, intermittently, the java process stays at 100% in Activity Monitor and the jenkins server no longer responds (UI is dead too).
This seemed to happen after I installed the ruby rvm manager and multiple versions of ruby, but this could be nothing to do with it. All was fine before then though.
I can restart Jenkins by killing the out of control java process, killing the jenkins app (force quit) and another java process spawns from nowhere - kill that, wait until it does not load another one, then restart the Jenkins app.
This is now happening every few clicks around the web UI of jenkins, i.e. the java process loses control and I have to force quit as described above. It has made the solution unworkable.
Installing Jenkins via other means on the same machine does not seem to cause this issue, although I have not tested in anger as I have a load of permissions issues preventing me running any of my jobs now! the very reason I moved to your solution! ahhh!
If /usr/bin/ doesn't have Java tools installed, you get a dialog box prompting to install JRE. Since JRE actually doesn't contain necessary links, you will get the dialog box even if you have JRE installed.
(See this: http://stackoverflow.com/questions/26483089/launchd-is-not-starting-jenkins-server-on-os-x-yosemite) Also, because Jenkins is started with launchd, you will get the dialog at regular intervals until the startup script timeouts. Startup script should at least test if the /usr/bin/java seems to work and if it doesn't exit without creating launchd job.
If the user specifies a httpPort different from 8080, the automatic browser launch will not work.
The "Timed out waiting for Jenkins to start." message is displayed after 90 seconds even though Jenkins has started up successfully.
The root cause is in the "wait_for_jenkins.sh" bash script.
The "curl" command always returns a value of 22 since the page returns a 403.
To fix this, I removed the -k option from both "curl" calls.
I don't like having the whole Jenkins workspace dir be hidden (in a dot dir), so I prefer to set JENKINS_HOME
to something like ~/jenkins
. I used to do this by setting that environment variable before running the command to start Jenkins, as I don't think there is a options flags argument for this. Unfortunately, it doesn't seem like there is a good way to set an environment variable like this currently with jenkins-app
.
I edited the script to add a jenkins_home
property (next to the jenkins_url
one), and then put that in the "env" section of the do shell script
call to launchctl
to start Jenkins, and it works for me. But, if this is something that others would find useful, perhaps it should be another option during the manual configuration setup prompts? Or at least supported in the prefs file?
Jenkins.app should be able to notify user when a new version of Jenkins.app is available.
Currently Jenkins.app does not check if Jenkins is idle before quitting. It simply forces Jenkins to terminate, even in the middle of a build.
If Jenkins is not idle, Jenkins.app should display a warning and ask the user if he really wants to quit.
The SSH_AUTH_SOCK environment variable is missing from Jenkins environment, thus preventing ssh from using keys with a passphrase.
These environment variables are present, but no SSH_AUTH_SOCK
+ env
BUILD_URL=http://sarah.local:8080/job/env/1/
HUDSON_SERVER_COOKIE=21d82a6ec89fa9c0a00259f92b3402ff
SHELL=/bin/bash
JAVA_MAIN_CLASS_4524=Main
TMPDIR=/var/folders/0l/7d3_94r48xq3yy008k8x89yr0000gn/T/
BUILD_TAG=jenkins-env-1
WORKSPACE=/Users/sami/.hudson/jobs/env/workspace
JOB_URL=http://sarah.local:8080/job/env/
com.apple.java.jvmTask=CommandLine.java
USER=sami
__CF_USER_TEXT_ENCODING=0x1F5:0:17
JENKINS_HOME=/Users/sami/.hudson
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin
PWD=/Users/sami/.hudson/jobs/env/workspace
HUDSON_URL=http://sarah.local:8080/
JOB_NAME=env
com.apple.java.jvmMode=client
JENKINS_URL=http://sarah.local:8080/
BUILD_ID=2012-03-23_00-48-43
SHLVL=1
HOME=/Users/sami
JENKINS_SERVER_COOKIE=21d82a6ec89fa9c0a00259f92b3402ff
EXECUTOR_NUMBER=0
NODE_LABELS=master
LOGNAME=sami
HUDSON_HOME=/Users/sami/.hudson
NODE_NAME=master
BUILD_NUMBER=1
HUDSON_COOKIE=d2868c81-e620-4c9c-bf70-9be3e3956780
JAVA_ARCH=x86_64
_=/usr/bin/env
Hi there.
I really like how easy it is to get going with this app compared to a "normal" Jenkins install.
I have been trying to find out if I can use the static-analysis.jelly can be used with this app. But I have not been able to find anything written about it.
So thought I would give it a try asking here.
Cheers
Lasse
Originally trying to fix a bug in this plugin (https://wiki.jenkins-ci.org/display/JENKINS/TestFairy+Plugin), by adding a custom argument to JVM. But when I start up Jenkins and choose Change Defaults, anything I put, even leaving the fields blank, results in an error.
How to fix this, or is there a different way to modify JVM arguments?
Mac OSX 10.10.1
Jenkins 1.598
codesign -v Jenkins.app
Jenkins.app: code or signature modified
From a friend:
Yeah thought so. Picked the one from GitHub, it said it would download Jenkins and then nothing happened...
I do have ~/Library/Caches, though
Yeah, but it's empty
nothing after "2012-04-03 22:33:42,482 Jenkins.app: downloading jenkins.war to /Users/rasmus/Library/Caches/org.jenkins-ci.jenkins/jenkins.war"
When double clicking the app it downloads whether it should download the WAR.
After pressing OK, it fails with a dialog message:
...
curl error: The command exited with a non-zero status.
curl exit code was 6
When a new Jenkins.app is copied on top of an old Jenkins.app, the jenkins.war which is kept in the Resources directory of the app bundle, is lost and it needs to be re-downloaded.
Why not store jenkins.war in ~/Library/Caches/Jenkins?
When user clicks on Jenkins.app icon in the Dock, a browser window to Jenkins should be opened.
Hi there,
i accidentally locked out myself from my newly installed jenkins
by activating the secured mode of jenkins without having any user created.
normally one would delete or edit /var/lib/jenkins on linux
but how can i disable the secured mod in jenkins app on a mac ??
Thanks for all help ^^
It is impossible to know which version or build someone has downloaded.
Either the instructions are wrong, or the zip archive no longer matches the instructions. When I download the current zip archive, I get the file named "stisti-jenkins-app-307d0fe.zip" downloaded to my machine. When I extract this archive, it creates the folder named "stisti-jenkins-app-307d0fe". This folder contains the following files:
$ ls -la
total 104
drwxr-xr-x@ 11 brad staff 374 Jul 12 11:52 .
drwx------+ 18 brad staff 612 Jul 12 11:50 ..
-rw-r--r--@ 1 brad staff 6148 Jul 12 11:52 .DS_Store
-rwxr-xr-x@ 1 brad staff 155 Jul 8 14:58 .gitignore
-rwxr-xr-x@ 1 brad staff 1367 Jul 8 14:58 Info.plist
drwxr-xr-x@ 3 brad staff 102 Jul 8 14:58 Jenkins.app
-rwxr-xr-x@ 1 brad staff 150 Jul 8 14:58 Makefile
-rwxr-xr-x@ 1 brad staff 4775 Jul 8 14:58 README.rst
-rwxr-xr-x@ 1 brad staff 1963 Jul 8 14:58 build.xml
-rwxr-xr-x@ 1 brad staff 9107 Jul 8 14:58 main.applescript
-rwxr-xr-x@ 1 brad staff 5606 Jul 8 14:58 utils.applescript
The "Jenkins.app" contained within this folder is not executable. When I click on it or otherwise try to open it, I get the error message:
You can't open the application Jenkins
because it may be damaged or
incomplete.
Looking inside the package contents for Jenkins.app, I don't see anything that is obviously amiss:
$ ls -laR
total 0
drwxr-xr-x@ 3 brad staff 102 Jul 8 14:58 .
drwxr-xr-x@ 11 brad staff 374 Jul 12 11:52 ..
drwxr-xr-x@ 5 brad staff 170 Jul 8 14:58 Contents
./Contents:
total 8
drwxr-xr-x@ 5 brad staff 170 Jul 8 14:58 .
drwxr-xr-x@ 3 brad staff 102 Jul 8 14:58 ..
drwxr-xr-x@ 3 brad staff 102 Jul 8 14:58 MacOS
-rwxr-xr-x@ 1 brad staff 8 Jul 8 14:58 PkgInfo
drwxr-xr-x@ 7 brad staff 238 Jul 8 14:58 Resources
./Contents/MacOS:
total 112
drwxr-xr-x@ 3 brad staff 102 Jul 8 14:58 .
drwxr-xr-x@ 5 brad staff 170 Jul 8 14:58 ..
-rwxr-xr-x@ 1 brad staff 55856 Jul 8 14:58 applet
./Contents/Resources:
total 520
drwxr-xr-x@ 7 brad staff 238 Jul 8 14:58 .
drwxr-xr-x@ 5 brad staff 170 Jul 8 14:58 ..
-rwxr-xr-x@ 1 brad staff 214234 Jul 8 14:58 Jenkins.icns
-rwxr-xr-x@ 1 brad staff 40291 Jul 8 14:58 applet.icns
-rwxr-xr-x@ 1 brad staff 388 Jul 8 14:58 applet.rsrc
drwxr-xr-x@ 3 brad staff 102 Jul 8 14:58 description.rtfd
-rwxr-xr-x@ 1 brad staff 273 Jul 8 14:58 wait_for_jenkins.sh
./Contents/Resources/description.rtfd:
total 8
drwxr-xr-x@ 3 brad staff 102 Jul 8 14:58 .
drwxr-xr-x@ 7 brad staff 238 Jul 8 14:58 ..
-rwxr-xr-x@ 1 brad staff 102 Jul 8 14:58 TXT.rtf
I'm confused. Did I do something stupid? Did I miss something? Is there any additional information or documentation I can supply that might be useful? Thanks!
my mac ready has jenkins running with a few jobs... is it possible to use this app to the manage that instance instead of creating another one?
I want to change the port of Jenkins server, but I tried the command:
sudo defaults write /Library/Preferences/org.jenkins-ci httpPort 7070
But it seems doesn't work.
From system log:
16.11.2012 21.04.10,144 Jenkins.app[86630]: There are 1 builds in progress. Preventing sleep.
16.11.2012 21.05.10,000 kernel[0]: AirPort_Brcm43xx::powerChange: System Sleep
My guess is that running caffeinate -t 60 allows the system to sleep as soon as caffeinate exits and the system sleeps before Jenkins.app can start a new caffeinate instance.
Another approach is needed. Maybe run caffeinate with a really long timeout and kill it when build is done?
I installed your Jenkins app and everything works fine so far. I set the Mac OS account to "automatic login" and set your Jenkins app to start after the user logged in (like you describe in your readme).
The problem is that although your Jenkins app is started, Jenkins CI doesn't start running until I confirm the two popups that appear on every start (one asks for JVM parameters and one asks for Jenkins parameters).
Is there a switch that lets me disable these popups?
We are going to use your app on a CI server that is unattended most of the time. It would be great if Jenkins could start running after a reboot without human help.
Hi Sami. This isn't a bug on your end...but was wondering if you know what are the differences between the jenkins.pkg and your jenkins.app installation.
I cannot run Xcode "instruments -t path/Automation.tracetemplate path/iPhone.app" command with jenkins.pkg installer. It seems to fail when running the full instruments command. Using your installer it works, so it must be the way it is installed with jenkins-1.474.pkg.
I've done everything possible. Changing the user/group to user:staff, as well as /Users/Shared/Jenkins, and launching relaunching with sudo launchctl unload -w org.jenkins-ci.plist; sudo launchctl load -w org.jenkins-ci.plist;
I installed xctool via homebrew (in /usr/local/Cellar/xctool/0.1.16) . When I build my script on jenkins I get an error
xctool: command not found.
xctool works fine in console. Is there a place in your app I can set path in your app so jenkins knows where to find xctool?
Jenkins.app should be able to upgrade itself with a single mouse click.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.