J'ai essayé de suivre des tutoriels et celui-ci: Déployer en tant qu'utilisateur Jenkins ou Autoriser Jenkins à s'exécuter en tant qu'utilisateur différent?
mais je ne peux toujours pas, pour l'amour des dieux de l'informatique, utiliser un autre utilisateur. Voici les étapes de ce que j'ai fait:
Je reçois toujours une erreur de clonage impossible car jenkins continue de démarrer de manière anonyme:
Started by user anonymous
Comment le configurer pour que jenkins fonctionne comme moi? J'utilisais l'interface utilisateur Web de Jenkins donc c'était dans localhost: 8080
J'ai essayé de me connecter également en utilisant/login mais je ne peux même pas me connecter en utilisant mon nom ou en tant que root.
L'onglet personnes n'a même pas de lien de création d'utilisateur, alors oui, je suis coincé. Aidez-moi, s'il vous plaît?
NUMÉRO 1:
Started by user anonymous
Cela ne signifie pas que Jenkins a commencé en tant qu'utilisateur anonyme.
Cela signifie simplement que la personne qui a commencé la génération n'était pas connectée. Si vous activez la sécurité Jenkins, vous pouvez créer des noms d'utilisateur pour les personnes et lorsqu'elles se connectent, le
"Started by anonymous"
deviendra
"Started by < username >".
Remarque: Vous n'avez pas besoin d'activer la sécurité pour exécuter jenkins ou pour cloner correctement.
Si vous souhaitez activer la sécurité et créer des utilisateurs, vous devriez voir les options dans Manage Jenkins > Configure System
.
NUMÉRO 2:
L'erreur "ne peut pas cloner" est un tout autre problème. Cela n'a rien à voir avec votre connexion à jenkins ou l'activation de la sécurité. Cela signifie simplement que Jenkins n'a pas les informations d'identification pour cloner à partir de votre git SCM.
Consultez le plugin Jenkins Git pour voir comment configurer Jenkins pour fonctionner avec votre référentiel git.
J'espère que ça t'as aidé.
La réponse "Issue 2" donnée par @Sagar fonctionne pour la majorité des serveurs git tels que gitorious.
Cependant, il y aura un conflit de noms dans un système comme gitolite où les clés ssh publiques sont archivées en tant que fichiers nommés avec le nom d'utilisateur, c'est-à-dire keydir/jenkins.pub
. Que se passe-t-il s'il existe plusieurs serveurs jenkins qui doivent accéder au même serveur gitolite?
(Remarque: il s'agit d'exécuter le démon Jenkins sans exécuter un travail de génération en tant qu'utilisateur (résolu dans le "problème 1" de @ Sagar).)
Dans ce cas, vous devez donc exécuter le démon Jenkins en tant qu'utilisateur différent.
Il y a deux étapes:
L'essentiel est de mettre à jour le JENKINS_USER
variable d'environnement. Voici un patch montrant comment changer l'utilisateur en ptran
.
--- etc/default/jenkins.old 2011-10-28 17:46:54.410305099 -0700
+++ etc/default/jenkins 2011-10-28 17:47:01.670369300 -0700
@@ -13,7 +13,7 @@
PIDFILE=/var/run/jenkins/jenkins.pid
# user id to be invoked as (otherwise will run as root; not wise!)
-JENKINS_USER=jenkins
+JENKINS_USER=ptran
# location of the jenkins war file
JENKINS_WAR=/usr/share/jenkins/jenkins.war
--- etc/init.d/jenkins.old 2011-10-28 17:47:20.878539172 -0700
+++ etc/init.d/jenkins 2011-10-28 17:47:47.510774714 -0700
@@ -23,7 +23,7 @@
#DAEMON=$JENKINS_SH
DAEMON=/usr/bin/daemon
-DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG - -pidfile=$PIDFILE"
+DAEMON_ARGS="--name=$JENKINS_USER --inherit --env=JENKINS_HOME=$JENKINS_HOME --output=$JENKINS_LOG --pidfile=$PIDFILE"
SU=/bin/su
Mettre à jour la propriété des répertoires jenkins:
chown -R ptran /var/log/jenkins
chown -R ptran /var/lib/jenkins
chown -R ptran /var/run/jenkins
chown -R ptran /var/cache/jenkins
Redémarrez jenkins
Sudo service jenkins restart
Sur Mac OS X, la façon dont j'ai permis à Jenkins de tirer de mon repo Github (privé) est:
Tout d'abord, assurez-vous que votre utilisateur possède le répertoire Jenkins
Sudo chown -R me:me /Users/Shared/Jenkins
Modifiez ensuite le plist LaunchDaemon pour Jenkins (à /Library/LaunchDaemons/org.jenkins-ci.plist) afin que votre utilisateur soit le GroupName et le UserName:
<key>GroupName</key>
<string>me</string>
...
<key>UserName</key>
<string>me</string>
Rechargez ensuite Jenkins:
Sudo launchctl unload -w /Library/LaunchDaemons/org.jenkins-ci.plist
Sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist
Ensuite, Jenkins, puisqu'il fonctionne comme vous, a accès à votre répertoire ~/.ssh qui contient vos clés.
Si vous voulez vraiment exécuter Jenkins comme vous, je vous suggère de consulter mon Jenkins.app. Un moyen simple et alternatif d'exécuter Jenkins sur Mac.
Voir https://github.com/stisti/jenkins-app/
Téléchargez-le depuis https://github.com/stisti/jenkins-app/downloads