Question Faites démarrer FishEye + Crucible au démarrage sur Ubuntu


J'ai posé cette question chez Atlassian mais figuré serverfault pourrait être plus approprié car c'est davantage une question sur l'administrateur système qu'une question sur Atlassian:

J'ai essayé de suivre ce guide FishEye + Crucible démarre au démarrage. JIRA est déjà installé et fonctionne comme son propre utilisateur (jira) sur Ubuntu au démarrage, mais je ne peux pas obtenir que Fisheye + Crucible (ou fecru) fasse de même.

J'ai suivi les instructions là-bas (et la note relative à Ubuntu dans les commentaires de la page) et redémarré, JIRA a démarré comme d’habitude, mais pas fecru. Cela a-t-il quelque chose à voir avec la variable RUN_AS, que j'ai définie sur "jira"? Cette commande sera-t-elle exécutée au démarrage sans demander de mot de passe pour l'utilisateur «jira»? Je me suis dit que ce ne serait pas le cas, car le programme JIRA démarre au démarrage sans problème, car cet utilisateur ...

En utilisant:

Ubuntu 10.04 Lucid

Jira 5,0

Crucible + Fisheye 2.7.11


5
2018-03-13 20:58


origine




Réponses:


Les bits pertinents du script init que j'utilise:

case "$1" in
    start)
        sudo -u fisheye /path/to/fisheye/startf.sh

    stop)
        sudo -u fisheye /path/to/fisheye/stopf.sh
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

Contenu de startf.sh:

source /home/fisheye/.profile
$FISHEYE_HOME/bin/start.sh

stopf.sh:

source /home/fisheye/.profile
$FISHEYE_HOME/bin/stop.sh

Contenu pertinent de .profile:

export JAVA_HOME=/path/to/java/
export FISHEYE_OPTS="-Xms512m -Xmx4800m -XX:MaxPermSize=512m"
export FISHEYE_HOME=/home/fisheye/fecru-x.x.x
export FISHEYE_INST=/home/fisheye/inst-example

Bien entendu, j'aurais pu ajouter l'instruction .profile source dans les scripts de démarrage et d'arrêt fournis par fisheye, mais cela impliquerait de la modifier à nouveau après une mise à niveau. J'ai essayé de garder les fichiers fisheye inchangés autant que possible.


0
2018-03-13 21:44



Quelque chose dans les journaux (fisheye.out)? - sendmoreinfo


Je me rends compte que c’est un vieux fil, mais j’ai été incapable de trouver une réponse, alors la voici:

éditer fisheyectl.sh et changer nohup sh -c "exec $CMD" >> $FISHEYE_INST/var/log/fisheye.out 2>&1 & ne pas utiliser nohup (car upstart veut qu'il soit affiché en avant-plan:

#echo "Starting FishEye/Crucible... Output redirected to $FISHEYE_INST/var/log/fisheye.out"
#nohup sh -c "exec $CMD" >> $FISHEYE_INST/var/log/fisheye.out 2>&1 &
sh -c "exec $CMD"

Créez votre fichier /etc/init/fisheye.conf (j'ai nommé le creuset, mais peu importe):

# Crucible Upstart
#
# Required-Start:
# Required-Stop:

description "Crucible Server"

start on runlevel [2345]
stop on runlevel [!2345]

setuid crucible
setgid crucible
env FISHEYE_HOME="/home/crucible/crucible"
env FISHEYE_INST="/home/crucible/crucible-datastore"

# Give up if restart occurs 10 times in 30 seconds.
respawn limit 10 30

# keep it running in foreground to let upstart manage it
exec ~crucible/crucible/bin/start.sh
respawn

Notez que vous devrez peut-être modifier setuid et setgid en fonction de l'utilisateur sous lequel vous l'exécutez. Vous devrez peut-être aussi modifier le env lignes pour vos chemins.


0
2017-07-11 19:21





Comme cette question a de nouveau surgi et que les réponses sont maintenant obsolètes depuis le passage à systemd par les distributions majeures, je vais ajouter ma définition de service systemd pour JIRA:

/etc/systemd/system/jira.service

[Unit]
Description=Atlassian JIRA
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/jira
ExecStart=/path/to/jira/bin/startup.sh
ExecStop=/path/to/jira/bin/shutdown.sh
PIDFile=/path/to/jira/work/catalina.pid
SuccessExitStatus=143
User=jira
Group=jira
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

/ etc / sysconfig / jira

# Name of the user to run as
USER=jira
# Location of application's bin directory
CATALINA_HOME=/path/to/jira
# Location of Java JDK
export JAVA_HOME=/usr/lib/jvm/java-8-oracle

Remplacer /path/to/jira avec votre répertoire d'application.

Pour les autres outils Atlassian, c'est à peu près le même, seuls les scripts de démarrage et l'emplacement du fichier PID diffèrent légèrement:

  • Confluence

    • $appdir/bin/startup.sh
    • $appdir/bin/shutdown.sh
    • $appdir/work/catalina.pid
  • FishEye

    • $appdir/bin/start.sh
    • $appdir/bin/stop.sh
  • Bambou

    • $appdir/bin/start-bamboo.sh
    • $appdir/bin/stop-bamboo.sh
  • Foule

    • $appdir/bin/startup.sh
    • $appdir/bin/shutdown.sh
    • $appdir/apache-tomcat/work/catalina.pid

FishEye n'a pas encore de support pour un fichier PIDIl est donc nécessaire d’utiliser la solution de contournement de ce problème et d’ajouter cette ligne à fisheyectl.sh après le nohop commander:

echo $! > $FISHEYE_INST/var/fisheye.pid

Pour Bamboo, le fichier PID doit être explicitement défini via le CATALINA_PID variable (voir $appdir/bin/catalina.sh). Je ne l'ai pas encore testée, mais il devrait être possible de définir cette variable dans le EnvironmentFile fichier.

Une fois les définitions de service créées:

# start JIRA
sudo systemctl start jira
# enable automatic start on boot
sudo systemctl enable jira

0
2017-09-05 06:30