J'ai installé avec succès TeamCity ib CentOS 6.2 Minimal. Je suis coincé à essayer d'exécuter un script automatiquement au démarrage du système:
/opt/TeamCity/bin/teamcity-server.sh start
J'ai parcouru Google et essayé différentes méthodes qui semblent toutes échouer. La plupart des méthodes indiquent l'ajout du script de démarrage à l'un des fichiers rc.local:
/etc/rc.d/rc.local
/etc/rc.local
Et le contenu de rc.local contient la ligne:
/opt/TeamCity/bin/teamcity-server.sh start
Aucun ne démarrera le serveur Teamcity
Il n'y a aucun problème si j'exécute le script manuellement.
Cela semble simple, mais comment puis-je exécuter automatiquement un script shell?
Réponses:
Si le script de démarrage de teamcity est un script d'initialisation compatible LSB (c'est-à-dire s'il fournit des arguments de démarrage , d' arrêt et autres ), vous pouvez simplement copier le script dans un
/etc/init.d
dossier et l'exécuter (en tant que root):Un lien symbolique pour le fichier devrait également être OK. Essayez donc (en tant que root):
S'il ne démarre pas à l'initialisation, mais démarre manuellement sans problème, vous devez vérifier:
Pour imprimer le contenu de votre PATH, lancez simplement:
Pour vérifier si la raison pour laquelle le script ne démarre pas est le CHEMIN, essayez:
Cette commande effacera temporairement votre PATH et exécutera la commande. Si la commande a besoin d'informations spécifiques sur le PATH, elle échouera (veillez à exécuter exactement comme indiqué ci-dessus, IL Y A UN ESPACE entre PATH = et le reste de la commande).
la source
dans la commande Fedora 17
dire: le service teamcity-server ne prend pas en charge chkconfig, vous devez ajouter un en-tête comme:
seulement après cette première exécution de la commande.
la source
/etc/init.d/
:-)Lorsque le script est exécuté manuellement, il fonctionne correctement. Mais, lorsqu'il est exécuté automatiquement, cela ne fonctionne pas.
J'ai trouvé le coupable: TeamCity fonctionne sous l'utilisateur
teamcity
. Il doit être présent dans le/etc/sudoers
fichier et vous devez ajouter, en utilisantvisudo
une ligne comme celle-ci:la source