Comment réinitialiser les paramètres de sécurité Jenkins à partir de la ligne de commande?

217

Existe-t-il un moyen de réinitialiser tout (ou tout simplement désactiver les paramètres de sécurité) à partir de la ligne de commande sans utilisateur / mot de passe car j'ai réussi à me verrouiller complètement Jenkins?

ryanzec
la source

Réponses:

275

La solution la plus simple est de désactiver complètement la sécurité - changement truede falsedans le /var/lib/jenkins/config.xmlfichier.

<useSecurity>true</useSecurity>

Ensuite, redémarrez Jenkins, en

sudo service jenkins restart

Ensuite, allez dans le panneau d'administration et définissez à nouveau tout.

Si vous exécutez votre Jenkins dans le pod k8s à partir d'un docker, ce qui est mon cas et ne pouvez pas exécuter la servicecommande, vous pouvez simplement redémarrer Jenkins en supprimant le pod:

kubectl delete pod <jenkins-pod-name>

Une fois la commande émise, les k8 termineront l'ancien pod et en démarreront un nouveau.

Nowaker
la source
3
J'ai dû redémarrer Jenkins pour que le changement s'applique.
Ou Arbel le
12
sudo service jenkins restart
MonoThreaded
10
Pour ceux qui ne le trouvent pas, utilisez leur config.xml find / -name "config.xml" dans votre terminal.
Laser Hawk
Après avoir changé la balise de sécurité de l'utilisateur sur false pour redémarrer jenking à partir de l'invite de commande --- stackoverflow.com/questions/14869311/…
Anurag_BEHS
1
Le fichier peut également se trouver sous le dossier ~ / .jenkins /
Andrii Abramov
181

Une autre façon serait de modifier manuellement le fichier de configuration pour votre utilisateur (par exemple /var/lib/jenkins/users/username/config.xml) et de mettre à jour le contenu de passwordHash :

<passwordHash>#jbcrypt:$2a$10$razd3L1aXndFfBNHO95aj.IVrFydsxkcQCcLmujmFQzll3hcUrY7S</passwordHash>

Une fois que vous avez fait cela, redémarrez simplement Jenkins et connectez-vous en utilisant ce mot de passe:

test
Arseny
la source
1
que faire si cette entrée n'est pas là - où la mettre réellement?
serup
2
la <passwordHash>balise xml est un enfant de <hudson.security.HudsonPrivateSecurityRealm_-Details>. Regardez l'utilisateur admin par défaut pour avoir une idée de la structure XML totale.
ivandov
2
Il s'agit d'une bonne solution qui sécurise l'installation. Par curiosité, comment générer ce hachage de mot de passe?
kontextify
Merci, c'est exactement ce dont j'avais besoin!
Matt Cavanagh
La modification du contenu du fichier présent dans C: \ Users \ <USER> \ .jenkins \ users \ admin a aidé à résoudre le problème
Sakshi Singla
45

J'ai trouvé le fichier en question situé dans / var / lib / jenkins appelé config.xml, modifiant ce qui a résolu le problème.

ryanzec
la source
1
J'utilise El-Capitan et config.xml est introuvable dans l'emplacement
Durai Amuthan.H
@ DuraiAmuthan.H L'avez-vous installé avec la pile bitnami? Le fichier de configuration serait dans/Applications/jenkins-2.19.3-0/apps/jenkins/jenkins_home/users/admin/config.xml
siegy22
@ryanzec, la réponse de Nowakers utilise le même fichier mais c'est mieux expliqué, vous devriez envisager de l'accepter comme la bonne réponse.
Katu
où nous trouverons le fichier dans hight sierra
prabakaran iOS
44

L' <passwordHash>élément en users/<username>/config.xmlacceptera les données du format

salt:sha256("password{salt}")

Donc, si votre sel est baret votre mot de passe, foovous pouvez produire le SHA256 comme ceci:

echo -n 'foo{bar}' | sha256sum

Vous devriez obtenir 7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349le résultat. Prenez le haschich et mettez-le avec le sel dans <passwordHash>:

<passwordHash>bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349</passwordHash>

Redémarrez Jenkins, puis essayez de vous connecter avec un mot de passe foo. Réinitialisez ensuite votre mot de passe sur autre chose. (Jenkins utilise bcrypt par défaut, et un tour de SHA256 n'est pas un moyen sûr de stocker les mots de passe. Vous obtiendrez un hachage bcrypt stocké lorsque vous réinitialisez votre mot de passe.)

uckelman
la source
1
Cela ne semble pas fonctionner. un exemple commence par un sel de #jbscrypt puis définit les champs de chiffrement $ 2a $ 10 $. Qu'est-ce que cela signifie?
jrwren
Ma réponse a fonctionné pour moi. Les champs supplémentaires que vous voyez sont pour un format de hachage différent. La bibliothèque que Jenkins utilise pour gérer les mots de passe hachés prend en charge plusieurs formats. Le format jbcrypt dont vous parlez est plus sûr que sha256 avec un sel, mais le format sha256 + sel peut être facilement produit à partir de la ligne de commande --- rappelez-vous que le but de l'exercice est de revenir dans Jenkins, puis changer le mot de passe de l'interface Web de Jenkins.
uckelman
Cela n'a pas fonctionné non plus pour moi. Je vais essayer de trouver plus d'informations sur bcrypt
Laurent Picquet
ça a marché pour moi. J'ai utilisé les commandes suivantes: `` `` PASSWORD_DIGEST = "$ (echo -n" $ {ADMIN_PASSWORD} {$ {SALT}} "| sha256sum | awk '{print $ 1}')" echo "résumé du mot de passe: $ PASSWORD_DIGEST" sed -i -e "s # <passwordHash>. * </passwordHash> # <passwordHash> $ {SALT}: $ {PASSWORD_DIGEST} </passwordHash> #" "/ usr / share / jenkins / ref / users / admin / config .xml "sed -i -e" s # <apiToken>. * </apiToken> # <apiToken> $ {API_TOKEN} </apiToken> # "" / usr / share / jenkins / ref / users / admin / config. xml "` ``
Laurent Picquet
Merci un mil. Utilisé exactement les mêmes valeurs et travaillé comme un charme. Je me suis remis et réinitialisé le laissez-passer.
26

Dans El-Capitan, config.xml est introuvable sur

/ var / lib / jenkins /

Son disponible en

~ / .jenkins

puis après cela, comme mentionné, ouvrez le fichier config.xml et apportez les modifications suivantes

  • Dans ce remplacer <useSecurity>true</useSecurity>par<useSecurity>false</useSecurity>

  • Supprimer <authorizationStrategy>et<securityRealm>

  • Enregistrez-le et redémarrez jenkins ( sudo service jenkins restart )

Durai Amuthan.H
la source
Je ne suis pas en mesure de modifier le fichier config.xml actuellement. Lorsque j'essaie de l'enregistrer à l'aide de vim, il jette un message en lecture seule et l'opération pour lui donner un accès en écriture n'est pas autorisée.
Emjey
19

La réponse sur la modification était correcte. Pourtant, je pense qu'il convient de mentionner que cela /var/lib/jenkins/config.xmlressemble à ceci si vous avez activé la «Stratégie d'autorisation de matrice basée sur le projet». La suppression /var/lib/jenkins/config.xmlet le redémarrage de jenkins font également l'affaire. J'ai également supprimé les utilisateurs /var/lib/jenkins/userspour recommencer à zéro.

<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
    <permission>hudson.model.Computer.Configure:jenkins-admin</permission>
    <permission>hudson.model.Computer.Connect:jenkins-admin</permission>
    <permission>hudson.model.Computer.Create:jenkins-admin</permission>
    <permission>hudson.model.Computer.Delete:jenkins-admin</permission>
    <permission>hudson.model.Computer.Disconnect:jenkins-admin</permission>
    <!-- if this is missing for your user and it is the only one, bad luck -->
    <permission>hudson.model.Hudson.Administer:jenkins-admin</permission>
    <permission>hudson.model.Hudson.Read:jenkins-admin</permission>
    <permission>hudson.model.Hudson.RunScripts:jenkins-admin</permission>
    <permission>hudson.model.Item.Build:jenkins-admin</permission>
    <permission>hudson.model.Item.Cancel:jenkins-admin</permission>
    <permission>hudson.model.Item.Configure:jenkins-admin</permission>
    <permission>hudson.model.Item.Create:jenkins-admin</permission>
    <permission>hudson.model.Item.Delete:jenkins-admin</permission>
    <permission>hudson.model.Item.Discover:jenkins-admin</permission>
    <permission>hudson.model.Item.Read:jenkins-admin</permission>
    <permission>hudson.model.Item.Workspace:jenkins-admin</permission>
    <permission>hudson.model.View.Configure:jenkins-admin</permission>
    <permission>hudson.model.View.Create:jenkins-admin</permission>
    <permission>hudson.model.View.Delete:jenkins-admin</permission>
    <permission>hudson.model.View.Read:jenkins-admin</permission>
  </authorizationStrategy>
user637338
la source
14

Pour le réinitialiser sans désactiver la sécurité si vous utilisez des autorisations matricielles (probablement facilement adaptables à d'autres méthodes de connexion):

  1. Dans config.xml, défini disableSignupsurfalse .
  2. Redémarrer Jenkins.
  3. Accédez à la page Web Jenkins et inscrivez-vous avec un nouvel utilisateur .
  4. Dans config.xml, dupliquez l'une des <permission>hudson.model.Hudson.Administer:username</permission>lignes et remplacezusername par le nouvel utilisateur.
  5. S'il s'agit d'un serveur privé, disableSignuprevenez à truedansconfig.xml .
  6. Redémarrer Jenkins.
  7. Accédez à la page Web Jenkins et connectez-vous en tant que nouvel utilisateur .
  8. Réinitialiser le mot de passe de de l'utilisateur d'origine.
  9. Connectez-vous en tant qu'utilisateur d'origine.

Nettoyage facultatif:

  1. Supprimez le nouvel utilisateur.
  2. Supprimez la <permission>ligne temporaire dans config.xml.

Aucun titre n'a été endommagé au cours de cette réponse.

l0b0
la source
Ajouter à l'ensemble de nettoyage disableSignup de nouveau à true et redémarrer jenkins
Marc
14

Pour désactiver la sécurité Jenkins en quelques étapes simples sous Linux, exécutez ces commandes:

sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml
sudo /etc/init.d/jenkins restart

Il supprimera useSecurityet les authorizationStrategylignes de votreconfig.xml fichier de configuration racine et redémarrez votre Jenkins.

Voir aussi: Désactiver la sécurité sur le site Web de Jenkins


Après avoir obtenu l'accès à Jenkins, vous pouvez réactiver la sécurité dans votre page Configurer la sécurité globale en choisissant le domaine de contrôle d'accès / sécurité . Après cela, n'oubliez pas de créer l'utilisateur administrateur .

Kenorb
la source
Cela a fonctionné pour moi, cependant, il saute l'autorisation maintenant.
hemanto
@hemanto Vous devez activer la sécurité pour réactiver l'autorisation. J'ai mis à jour la réponse.
kenorb
12

Sur la chance, vous vous verrouillez accidentellement hors de Jenkins en raison d'une erreur de permission, et vous n'avez pas accès côté serveur pour basculer vers l'utilisateur ou root jenkins ... Vous pouvez créer un travail dans Jenkins et l'ajouter au script shell:

sed -i 's/<useSecurity>true/<useSecurity>false/' ~/config.xml

Cliquez ensuite sur Build Now et redémarrez Jenkins (ou le serveur si vous en avez besoin!)

pseudo
la source
1
Comment créez-vous un emploi à Jenkins au cas où vous vous seriez enfermé?
GeroldBroser réintègre Monica
Dans ce cas, j'avais une fenêtre Chrome normale connectée et j'ai modifié les paramètres de sécurité et testé dans une fenêtre de navigation privée avant de me déconnecter de la fenêtre principale. Le test ne m'a pas permis de me connecter, mais mes sessions ont persisté dans la fenêtre principale pour que je puisse réparer les dégâts.
Nick
1
Je crois qu'une partie des paramètres de sécurité que j'avais modifiés signifiait également que ma session d'authentification n'avait plus la permission de modifier les configurations de sécurité de Jenkins.
Nick
Exécutez ce problème après l'activation ProjectMatrixAuthorization. Lorsque je fais le changement et redémarre Jenkins, je vois une exception Java dans Jenkins-UI. Pour résoudre ce problème, j'ai également supprimé la ligne avec authorizationStrategyet c'était à nouveau correct. Jenkins l'a lu au prochain démarrage comme une balise vide.
Peter Schneider
12

Nous pouvons réinitialiser le mot de passe tout en laissant la sécurité activée.

Le fichier config.xml dans / var / lib / Jenkins / users / admin / agit un peu comme le fichier / etc / shadow pour les systèmes Linux ou UNIX ou le fichier SAM dans Windows, dans le sens où il stocke le hachage du fichier mot de passe du compte.

Si vous devez réinitialiser le mot de passe sans vous connecter, vous pouvez modifier ce fichier et remplacer l'ancien hachage par un nouveau généré à partir de bcrypt:

$ pip install bcrypt
$ python
>>> import bcrypt
>>> bcrypt.hashpw("yourpassword", bcrypt.gensalt(rounds=10, prefix=b"2a"))
'YOUR_HASH'

Cela affichera votre hachage, avec le préfixe 2a, le préfixe correct pour les hachages Jenkins.

Maintenant, éditez le fichier config.xml:

...
<passwordHash>#jbcrypt:REPLACE_THIS</passwordHash>
...

Une fois que vous avez inséré le nouveau hachage, réinitialisez Jenkins:

(si vous êtes sur un système avec systemd):

sudo systemctl restart Jenkins

Vous pouvez maintenant vous connecter et vous n'avez pas laissé votre système ouvert pendant une seconde.

Reem
la source
5
\.jenkins\secrets\initialAdminPassword

Copiez le mot de passe du fichier initialAdminPassword et collez-le dans Jenkins.

Shivam
la source
4

Afin de supprimer la sécurité par défaut de jenkins dans le système d'exploitation Windows,

Vous pouvez parcourir le fichier Config.xml créé dans /users/{UserName}/.jenkins.

Dans ce fichier, vous pouvez changer le code de

<useSecurity>true</useSecurity>

À,

<useSecurity>false</useSecurity>
Krutik
la source
4

1 Vérifiez d'abord l'emplacement si vous installez War ou Linux ou Windows en fonction de cela

par exemple en cas de guerre sous Linux et pour l'utilisateur administrateur

/home/"User_NAME"/.jenkins/users/admin/config.xml

accédez à cette balise après #jbcrypt:

<passwordHash>#jbcrypt:$2a$10$3DzCGLQr2oYXtcot4o0rB.wYi5kth6e45tcPpRFsuYqzLZfn1pcWK</passwordHash>

changer ce mot de passe en utilisant n'importe quel site Web pour le générateur de hachage bcrypt

https://www.dailycred.com/article/bcrypt-calculator

assurez-vous qu'il commence par 2 $ car celui-ci utilise jenkens

Ismail
la source
4

étape 1: allez dans le répertoire cd .jenkins / secrets puis vous obtiendrez un 'initialAdminPassword'.

étape 2: nano initialAdminPassword

vous obtiendrez un mot de passe

Shaik Zeeshan
la source
2

changer le <useSecurity>true</useSecurity>pour <useSecurity>false</useSecurity>ne sera pas suffisant, vous devez supprimer <authorizationStrategy>et <securityRealm>éléments aussi et redémarrez votre serveur jenkins en faisant sudo service jenkins restart.

rappelez-vous ceci, réglé <usesecurity>sur falseseulement peut vous causer un problème, car ces instructions sont mentionnées dans leur documentation officielle ici .

Musharraf Al-tamimi
la source
1

Le moyen le plus simple est d'utiliser le psw administrateur pour vous connecter avec votre utilisateur administrateur:

  • Changez en utilisateur root: sudo su -
  • Copiez le mot de passe: xclip -sel clip < /var/lib/jenkins/secrets/initialAdminPassword
  • Connectez-vous avec l'administrateur et appuyez ctrl + vsur la zone de saisie du mot de passe.

Installez xclip si vous ne l'avez pas:

  • $ sudo apt-get install xclip
Thomas Modeneis
la source
L'utilisation du mot de passe par défaut a fonctionné pour moi. Pour rester simple, vous pouvez simplement faire «cat secrets / initialAdminPassword» plutôt que d'installer xclip pour une seule fois.
Paul
Parfois, ce mot de passe n'est pas présent. Je ne sais pas comment vous pouvez contourner cette config mais pour moi, elle n'est pas présente et j'ai dû éditer config.xml
vinicius.hisao le
1

Jenkins sur KUBENETES et Docker

En cas de Jenkins sur un conteneur géré par un Kubernetes POD est un peu plus complexe , car: kubectl exec PODID --namespace=jenkins -it -- /bin/bashvous permettra d'accéder directement au conteneur en cours d' exécution Jenkins, mais vous n'aurez pas accès root , sudo, viet de nombreuses commandes ne sont pas disponibles et donc une solution de contournement est nécessaire.

Utilisez kubectl describe pod [...]pour trouver le nœud exécutant votre pod et l'ID du conteneur(docker://...)

  • SSH dans le nœud
  • exécuter docker exec -ti -u root -- /bin/bashpour accéder au conteneur avec des privilèges root
  • apt-get update
  • sudo apt-get install vim

La deuxième différence est que le fichier de configuration Jenkins est placé dans un chemin différent qui correspond au point de montage du volume persistant, c'est /var/jenkins_home-à- dire que cet emplacement pourrait changer à l'avenir, vérifiez qu'il fonctionne df.

Désactivez ensuite la sécurité - changez true en false dans le /var/jenkins_home/jenkins/config.xmlfichier.

<useSecurity>false</useSecurity>

Il suffit maintenant de redémarrer le Jenkins, action qui fera mourir le conteneur et le Pod, il sera recréé en quelques secondes avec la configuration mise à jour (et toutes les chances comme vi, mise à jour effacée) grâce au volume persistant.

L'ensemble de la solution a été testé sur Google Kubernetes Engine. MISE À JOUR Notez que vous pouvez également exécuter ps -auxle mot de passe en texte brut est affiché même sans accès root.

jenkins@jenkins-87c47bbb8-g87nw:/$ps -aux
[...]
jenkins [..] -jar /usr/share/jenkins/jenkins.war --argumentsRealm.passwd.jenkins=password --argumentsRealm.roles.jenkins=admin
[...]
GalloCedrone
la source
1

Souvent, vous n'aurez pas l'autorisation de modifier le fichier config.xml.

La chose la plus simple serait de config.xmlsupprimer et de supprimer à l'aide de la commande sudo.

Redémarrez les jenkins à l'aide de la commande sudo /etc/init.d/jenkins restart

Cela désactivera toute la sécurité dans Jenkins et l'option de connexion disparaîtrait

Emjey
la source
Si vous pouvez supprimer config.xml avec sudo, vous pouvez également le modifier avec sudo. par exemple sudo vi ...
Lee Meador
1

En utilisant bcrypt, vous pouvez résoudre ce problème. Étendre la réponse @Reem à quelqu'un qui essaie d'automatiser le processus en utilisant bash et python.

#!/bin/bash

pip install bcrypt
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install xmlstarlet

cat > /tmp/jenkinsHash.py <<EOF
import bcrypt
import sys

if not sys.argv[1]:
  sys.exit(10)

plaintext_pwd=sys.argv[1]
encrypted_pwd=bcrypt.hashpw(sys.argv[1], bcrypt.gensalt(rounds=10, prefix=b"2a"))
isCorrect=bcrypt.checkpw(plaintext_pwd, encrypted_pwd)

if not isCorrect:
   sys.exit(20);

print "{}".format(encrypted_pwd)
EOF

chmod +x /tmp/jenkinsHash.py
cd /var/lib/jenkins/users/admin*
pwd
while (( 1 )); do
    echo "Waiting for Jenkins to generate admin user's config file ..."

    if [[ -f "./config.xml" ]]; then
        break
    fi

    sleep 10
done

echo "Admin config file created"

admin_password=$(python /tmp/jenkinsHash.py password 2>&1)

# Repalcing the new passowrd
xmlstarlet -q ed --inplace -u "/user/properties/hudson.security.HudsonPrivateSecurityRealm_-Details/passwordHash" -v '#jbcrypt:'"$admin_password" config.xml

# Restart
systemctl restart jenkins
sleep 10

J'ai gardé un mot de passe en dur ici, mais il peut s'agir d'une entrée utilisateur en fonction des besoins. Assurez-vous également d'ajouter que sleepsinon toute autre commande tournant autour de Jenkins échouera.

Ismail
la source
1

Pour désactiver très simplement la sécurité et l'assistant de démarrage, utilisez la propriété JAVA:

-Djenkins.install.runSetupWizard=false

La bonne chose à ce sujet est que vous pouvez l'utiliser dans une image Docker de telle sorte que votre conteneur démarre toujours immédiatement sans écran de connexion:

# Dockerfile
FROM jenkins/jenkins:lts
ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false

Notez que, comme mentionné par d'autres, le Jenkins config.xml est dans /var/jenkins_homel'image, mais l'utilisation sedpour le modifier à partir du Dockerfile échoue, car (vraisemblablement) le config.xml n'existe pas jusqu'au démarrage du serveur.

Rhubarbe
la source
0

J'ai eu un problème similaire, et suite à la réponse d'ArtB,

J'ai trouvé que mon utilisateur n'avait pas les configurations appropriées. donc ce que j'ai fait:

Remarque: la modification manuelle de ces fichiers XML est risquée. Faites-le à vos risques et périls. Comme j'étais déjà en lock-out, je n'avais pas grand-chose à perdre. AFAIK Dans le pire des cas, j'aurais supprimé le fichier ~ / .jenkins / config.xml comme mentionné précédemment.

**> 1. ssh à la machine jenkins

  1. cd ~ / .jenkins (je suppose que certaines installations le placent sous /var/lib/jenkins/config.xml, mais pas dans mon cas)
  2. vi config.xml, et sous la balise xml authorizationStrategy, ajoutez la section ci-dessous (juste utilisé mon nom d'utilisateur au lieu de "mettre votre nom d'utilisateur")
  3. redémarrez jenkins. dans mon cas, en tant que service racine, arrêt tomcat7; ; service tomcat7 start
  4. Essayez de vous reconnecter. (travaillé pour moi) **

sous

ajouter:

<permission>hudson.model.Computer.Build:put-your-username</permission>
<permission>hudson.model.Computer.Configure:put-your-username</permission>
<permission>hudson.model.Computer.Connect:put-your-username</permission>
<permission>hudson.model.Computer.Create:put-your-username</permission>
<permission>hudson.model.Computer.Delete:put-your-username</permission>
<permission>hudson.model.Computer.Disconnect:put-your-username</permission>
<permission>hudson.model.Hudson.Administer:put-your-username</permission>
<permission>hudson.model.Hudson.ConfigureUpdateCenter:put-your-username</permission>
<permission>hudson.model.Hudson.Read:put-your-username</permission>
<permission>hudson.model.Hudson.RunScripts:put-your-username</permission>
<permission>hudson.model.Hudson.UploadPlugins:put-your-username</permission>
<permission>hudson.model.Item.Build:put-your-username</permission>
<permission>hudson.model.Item.Cancel:put-your-username</permission>
<permission>hudson.model.Item.Configure:put-your-username</permission>
<permission>hudson.model.Item.Create:put-your-username</permission>
<permission>hudson.model.Item.Delete:put-your-username</permission>
<permission>hudson.model.Item.Discover:put-your-username</permission>
<permission>hudson.model.Item.Read:put-your-username</permission>
<permission>hudson.model.Item.Workspace:put-your-username</permission>
<permission>hudson.model.Run.Delete:put-your-username</permission>
<permission>hudson.model.Run.Update:put-your-username</permission>
<permission>hudson.model.View.Configure:put-your-username</permission>
<permission>hudson.model.View.Create:put-your-username</permission>
<permission>hudson.model.View.Delete:put-your-username</permission>
<permission>hudson.model.View.Read:put-your-username</permission>
<permission>hudson.scm.SCM.Tag:put-your-username</permission>

Maintenant, vous pouvez aller dans différentes directions. Par exemple, j'ai eu l'intégration de github oauth, donc j'aurais pu essayer de remplacer l'autorisationStrategy par quelque chose comme ci-dessous:

Remarque: cela a fonctionné dans mon cas car j'avais un plugin github oauth spécifique qui était déjà configuré. C'est donc plus risqué que la solution précédente.

  <authorizationStrategy class="org.jenkinsci.plugins.GithubAuthorizationStrategy" plugin="[email protected]">
    <rootACL>
      <organizationNameList class="linked-list">
        <string></string>
      </organizationNameList>
      <adminUserNameList class="linked-list">
        <string>put-your-username</string>
        <string>username2</string>
        <string>username3</string>
        <string>username_4_etc_put_username_that_will_become_administrator</string>
      </adminUserNameList>
      <authenticatedUserReadPermission>true</authenticatedUserReadPermission>
      <allowGithubWebHookPermission>false</allowGithubWebHookPermission>
      <allowCcTrayPermission>false</allowCcTrayPermission>
      <allowAnonymousReadPermission>false</allowAnonymousReadPermission>
    </rootACL>
  </authorizationStrategy>
drordk
la source
0

Modifiez le fichier $ JENKINS_HOME / config.xml et changez la configuration de sécurité avec ceci:

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

Après cela, redémarrez Jenkins.

richarbernal
la source
0

Pour celui qui utilise macOS, la nouvelle version peut simplement être installée par homebrew. donc pour se reposer, cette ligne de commande doit utiliser:

brew services restart jenkins-lts
iman kazemayni
la source