Details
-
Suggestion
-
Resolution: Unresolved
-
None
-
None
-
0
-
1
-
Description
I am evaluating Bamboo and followed the instructions at
https://confluence.atlassian.com/bamboo/running-bamboo-as-a-linux-service-416056046.html
First of all, most major Linux distributions have switched to systemd. You may want to update your code to support that. SysVinit will be going away.
Secondly, the initscript on that page doesn't work as is.
The script relies on BAMBOO_HOME, but that is not set in the script.
The convention on Debian/Ubuntu would be to put such environment config in, e.g., /etc/default/bamboo and sourcing that file from the initscript, so that the initscript can remain untouched and identical on different installations.
Furthermore, I noticed that the script does not stop bamboo properly. I had lots of "hanging" java processes which I had to kill -15 manually.
Please consider the OS provided infrastructure for starting and stopping services. There are tons of examples out there how to spawn a process, capture its pid and ensure only one instance is running if the application is a singleton. (look for start-stop-daemon)
In the long run, I would expect proper Debian/Ubuntu (and CentOS/RHEL) packages that take care of a) installing dependencies like the JRE or an RDBMS like PostgreSQL b) creating users, c) creating a database user and database, d) proper integration into systemd, ...
There is no point why sysadmins should do copy-paste installs, when these steps can be perfectly coded as scripts for each particular platform. That way, the installation process can be automatically tested using CI...
Just my 5c as a sysadmin who installs Bamboo for the first time.