How to create a service for Fisheye/Crucible in Linux

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

目的

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.

ソリューション

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

    メモ:

    /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/sh
    
    ### BEGIN INIT INFO
    # Provides:          fisheye
    # Required-Start:    $remote_fs $syslog
    # Required-Stop:     $remote_fs $syslog
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Initscript for Atlassian fisheye Server
    # Description:  Automatically start Atlassian fisheye Server when the system starts up.
    #               Provide commands for manually starting and stopping fisheye Server.
    ### END INIT INFO
    
    # Adapt the following lines to your configuration
    # RUNUSER: The user to run fisheye Server as.
    RUNUSER=crucible
    
    # FISHEYE_INST: The path where the data itself will be stored.
    FISHEYE_INST="/data/atlassian/fisheye-home"
    
    # FISHEYE_HOME: The path to the FishEye & Crucible installation. 
    FISHEYE_HOME="/data/atlassian/fecru-4.8.11"
    
    
    fisheyectl() {
    	if [ "x$USER" != "x$RUNUSER" ]; then
                    # If running without FISHEYE_INST
                    # su - "$RUN_AS" -c "$FISHEYE_HOME/bin/fisheyectl.sh $1"
                    su - "$RUNUSER" -c "export JAVA_HOME=/usr/lib/jvm/adoptopenjdk-8-hotspot; FISHEYE_INST=$FISHEYE_INST $FISHEYE_HOME/bin/fisheyectl.sh $1"
            else
                	"$FISHEYE_HOME/bin/fisheyectl.sh $1"
            fi
    }
    
    case "$1" in
    	start)
                  	fisheyectl start
                    ;;
            stop)
                 	fisheyectl stop
                    ;;
            restart)
                    fisheyectl stop
                    sleep 10
                    fisheyectl start
                    ;;
            *)
              	echo "Usage: $0 {start|stop|restart}"
    esac
    
    exit 0 

    Edit the values of the following to match your environment.

    1. RUNUSER
    2. JAVA_HOME
    3. FISHEYE_INST
    4. FISHEYE_HOME
  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
説明
This a how to that covers creating a service for Fisheye / Crucible on a Linux machine.
製品FishEye / Crucible

最終更新日 2023 年 6 月 8 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.