How to create a service for Fisheye/Crucible in Linux

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.

Purpose

If a service that starts Fisheye/Crucible is needed on a Linux machine, this resource should help. These steps were tested using Fisheye 4.8.

Solution

RHEL 8 & Ubuntu

  1. Install Fisheye / Crucible as discussed in our documentation: Installing Fisheye on Linux and Mac
  2. Create a service and add the following to the service file (in testing the file was located at /lib/systemd/system/crucible.service)

    [Unit]
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=root
    ExecStart=/bin/bash /absolute/path/to/fecru-<version>/bin/start.sh
    ExecStop=/bin/bash /absolute/path/to/fecru-<version>/bin/stop.sh
    Environment=FISHEYE_INST=/absolute/path/to/fisheye_inst
    
    [Install]
    WantedBy=multi-user.target

    Notes:

    /absolute/path/to/fecru-<version> should be changed to the actual path
    /absolute/path/to/fisheye_inst should be changed to the actual path
    * Remember that FISHEYE_INST is an environment variable that points to the directory used by the Fisheye / Crucible for storing data such as log files, repository caches and configuration file.

  3. The service can now be used to start Fisheye / Crucible. In the test running the command service crucible start was successful.

  4. After running systemctl enable crucible the service should start at boot

Amazon Linux

  1. Install Fisheye / Crucible as discussed in our documentation: Installing Fisheye on Linux and Mac
  2. Create a file in /etc/init.d (in testing the file was located at /etc/init.d/crucible):

    #!/bin/bash
    # chkconfig: 2345 20 80
    # description: service script for fisheye using fisheyectl
    
    
    # Source func lib  for start stop and restart convenience and /etc/environment where $FISHEYE_INSTALLATION is defined
    . /etc/init.d/functions
    . /etc/environment
    start() {
            $FISHEYE_INSTALLATION/bin/fisheyectl.sh start
    }
    
    
    stop() {
            $FISHEYE_INSTALLATION/bin/fisheyectl.sh stop
    }
    
    
    case "$1" in
            start)
              start
              ;;
            stop)
              stop
              ;;
            restart)
              stop
              start
              ;;
            *)
              echo "Usage:  $0 {start|stop|restart}"
    esac
    
    
    exit 0 
  3. Use chkconfig to add & enable:

    chkconfig --add crucible && chkconfig --level 2345 crucible on
  4. Use chkconfig to check the script (the run levels 2-5 should be on as that is what we specified in the script):

    chkconfig --list | grep crucible
  5. Confirm the crucible file has the right permissions and is executable (it should have the same privilege as other service scripts in /etc/init.d/)

  6. Fisheye / Crucible can now be started using the service:

    service crucible start
    service crucible stop
    service crucible restart
Description
This a how to that covers creating a service for Fisheye / Crucible on a Linux machine.
ProductFisheye / Crucible

Last modified on Nov 30, 2021

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.