You are not logged in.
Hi,
would anyone care to create a PKGBUILD for Rundeck? It's something like Jenkins but for DevOPS rather than developers.
Here's the URL: http://rundeck.org/
Sources can be found here:
https://github.com/rundeck/rundeck/tarball/v2.5.3
http://rundeck.org/downloads.html
Thanks!
Offline
Does nobody need a rundeck package for Arch? Unfortunately I don't know how to create a working PKGBUILD for the sources.
Latest releases can be found here:
https://github.com/rundeck/rundeck/releases
Thanks!
Offline
The build system it uses,gradle , looks a bit weird and i'm not sure if it has options like $DESTDIR .
Otoh the rpm/deb packaging they do support mostly seems to copy things, so maybe gradle builds portable stuff that can run from any location.
I'll look a bit further into it.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
I'm working on this atm.
Test it.
https://github.com/MarcinWieczorek/aur-rundeck
Last edited by MarcinWieczorek (2016-05-09 16:22:03)
Offline
Hi!
Thanks for the feedback.
Marcin, is there a reason why your start script runs rundeck from a local directory per user?
I'm more looking for a global running rundeck like the rpm/deb do with maybe systemd running.
This is started by user root and rudeck when looking at the process of my test-system which runs the rpm from centos:
root 915 0.0 0.0 164916 1228 ? S Apr01 0:00 runuser -s /bin/bash -l rundeck -c /usr/bin/java -Djava.security.auth.login.config=/etc/rundeck/jaas-ldap.conf ?-Dloginmodule.name=oneandoneldap ?-Drdeck.config=/etc/rundeck ?-Drdeck.base=/var/lib/rundeck ?-Drundeck.server.configDir=/etc/rundeck ?-Dserver.datastore.path=/var/lib/rundeck/data ?-Drundeck.server.serverDir=/var/lib/rundeck ?-Drdeck.projects=/var/rundeck/projects ?-Drdeck.runlogs=/var/lib/rundeck/logs ?-Drundeck.config.location=/etc/rundeck/rundeck-config.properties ?-Djava.io.tmpdir=/tmp/rundeck -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server -cp /var/lib/rundeck/bootstrap/jetty-all-7.6.0.v20120127.jar:/var/lib/rundeck/bootstrap/jna-3.2.2.jar:/var/lib/rundeck/bootstrap/libpam4j-1.5.jar:/var/lib/rundeck/bootstrap/log4j-1.2.16.jar:/var/lib/rundeck/bootstrap/not-yet-commons-ssl-0.3.11.jar:/var/lib/rundeck/bootstrap/rundeck-jetty-server-2.6.4.jar:/var/lib/rundeck/bootstrap/servlet-api-2.5.jar: com.dtolabs.rundeck.RunServer /var/lib/rundeck 4440
rundeck 990 0.1 35.1 3220132 660324 ? Ssl Apr01 86:10 /usr/bin/java -Djava.security.auth.login.config=/etc/rundeck/jaas-ldap.conf -Dloginmodule.name=oneandoneldap -Drdeck.config=/etc/rundeck -Drdeck.base=/var/lib/rundeck -Drundeck.server.configDir=/etc/rundeck -Dserver.datastore.path=/var/lib/rundeck/data -Drundeck.server.serverDir=/var/lib/rundeck -Drdeck.projects=/var/rundeck/projects -Drdeck.runlogs=/var/lib/rundeck/logs -Drundeck.config.location=/etc/rundeck/rundeck-config.properties -Djava.io.tmpdir=/tmp/rundeck -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server -cp /var/lib/rundeck/bootstrap/jetty-all-7.6.0.v20120127.jar:/var/lib/rundeck/bootstrap/jna-3.2.2.jar:/var/lib/rundeck/bootstrap/libpam4j-1.5.jar:/var/lib/rundeck/bootstrap/log4j-1.2.16.jar:/var/lib/rundeck/bootstrap/not-yet-commons-ssl-0.3.11.jar:/var/lib/rundeck/bootstrap/rundeck-jetty-server-2.6.4.jar:/var/lib/rundeck/bootstrap/servlet-api-2.5.jar: com.dtolabs.rundeck.RunServer /var/lib/rundeck 4440
The start script delivered with the rpm is:
#!/bin/bash
#
# rundeckd Startup script for the rundeck
#
# chkconfig: 2345 90 10
# description: rundeckd, providing rundeckd
# pidfile: /var/run/rundeckd.pid
# Source function library
. /etc/rc.d/init.d/functions
. /etc/rundeck/profile
prog="rundeckd"
rundeckd="${JAVA_HOME:-/usr}/bin/java ${RDECK_JVM} -cp ${BOOTSTRAP_CP} com.dtolabs.rundeck.RunServer /var/lib/rundeck ${RDECK_HTTP_PORT}"
RETVAL=0
PID_FILE=/var/run/${prog}.pid
servicelog=/var/log/rundeck/service.log
start() {
echo -n $"Starting $prog: "
if ! touch $servicelog; then
echo No access to $servicelog. This usually means you need to be root
echo_failure
echo
return 1
fi
nohup runuser -s /bin/bash -l rundeck -c "$rundeckd" >>$servicelog 2>&1 &
RETVAL=$?
PID=$!
echo $PID > $PID_FILE
if [ $RETVAL -eq 0 ]; then
touch /var/lock/subsys/$prog
echo_success
else
echo_failure
fi
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc -p $PID_FILE "$rundeckd"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
### NOT USED
reload() {
echo -n $"Reloading $prog: "
killproc -p $PID_FILE "$rundeckd" -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
condrestart)
if [ -f /var/lock/subsys/$prog ]; then
stop
start
fi
;;
status)
status -p $PID_FILE $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
Is it possible to modify your package to this?
Thanks!
Offline
That's what is recommended by the authors:
>> To start from the rundeck-launcher.jar, put it in a directory named ~/rundeck, then execute
I put the launcher to /opt/rundeck and copy to ~/rundeck.
I'll look into that, tho I don't know how to set up permissions properly
Offline
Does taking apart the deb or rpm file help, maybe? Just looking into it and taking a look what is being done in these packages which obviously work properly?
Offline
Well, look into deb/rpm packages and inform me when you find something interesting. You can create .service file for systemd, it should meet your expectations. If so, please send it via a Pull Request to my package's repository on GitHub.
Offline
Unfortunately I have way to limited skills to deal with that. All I found was how they build the rpm/deb packages: https://github.com/rundeck/rundeck/blob … g/Makefile
The deb itself contained just all the system folders and an init.d script. So unfortunately I won't be of any help here...
Offline