Jenkins Essaim plugin d'authentification
J'ai un jenkins maître et un esclave. Je l'aide essaim plugin pour connecter les esclaves du maître. Tout fonctionne bien avant que je LDAP configuré authetication et de révoquer les subventions de l'utilisateur anonyme.
Évidemment, maintenant, je dois autheticate essaim client, mais je ne peux pas en mesure de le faire.
Si quelqu'un a une expérience avec de l'essaim plugin s'il vous plaît laissez-moi savoir.
Console esclave de la machine:
$ java -jar swarm-client-2-0.jar -master http://x.x.x.x:8080/-username 'exxxx' -password common.pwd
Discovering Jenkins master
Oct 01, 2015 2:14:51 PM org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme
INFO: basic authentication scheme selected
Oct 01, 2015 2:14:51 PM org.apache.commons.httpclient.HttpMethodDirector processWWWAuthChallenge
INFO: Failure authenticating with BASIC 'Jenkins'@x.x.x.x:8080
Failed to fetch slave info from Jenkins CODE: 401
Retrying in 10 seconds
Br,
Quelle est la version de Jenkins utilisez-vous? Il s'est avéré que l'essaim-client demande un mot de passe unique cité. essayé -disableSslVerification : Désactive la vérification SSL dans le HttpClient.?
Vous avez besoin de la passer à l'utilisateur dans Jenkins qui a Créer l'Esclave d'accès. Look Gérer les Utilisateurs/Rôles dans Jenkins OU essayez de créer un utilisateur dans Jenkins et attribuez-lui de créer de l'esclave de l'accès et de l'utilisation de la commande.
Vous avez besoin de la passer à l'utilisateur dans Jenkins qui a Créer l'Esclave d'accès. Look Gérer les Utilisateurs/Rôles dans Jenkins OU essayez de créer un utilisateur dans Jenkins et attribuez-lui de créer de l'esclave de l'accès et de l'utilisation de la commande.
OriginalL'auteur eszik.k | 2015-10-01
Vous devez vous connecter pour publier un commentaire.
Vous devez Créer au moins Esclave de l'autorisation ou supérieure pour créer l'esclave à l'aide de l'Essaim de plugin.
Vous avez les options suivantes:
Ouvrir une demande et le réseau de l'équipe de créer un nouveau LDAP/compte de service (générique), de sorte que vous n'avez pas à vous inquiéter à ce sujet le mot de passe à se changer dans les N pas. des jours.
Assigner l'utilisateur ou de l'accorder Créer Esclave de l'autorisation d'accès, ou à voir à l'intérieur (Esclave section selon votre capture d'images).
Utilisation que l'utilisateur nom d'utilisateur/mot de passe. Vous pouvez créer une variable globale /utilisation gérer les informations d'identification de la section dans Jenkins pour définir l'utilisateur/mot de passe et il sera disponible pour utiliser une variable ENV ou pour des informations d'identification d'authentification.
Exécuter votre commande pour créer l'esclave, et il va travailler, quelque chose comme:
Note:
Le Mode peut être en mode "exclusif"
À l'aide de -disableClientsUniqueId option permettra de créer de l'esclave avec le nom que par votre -nom de paramètre (au lieu de suffixant avec une unique/ID alphanumérique).
Plus: l'Outil de création de lieux à l'intérieur de l'esclave de configuration, j'ai d'abord utilisé -t **Java=~/outils/jdk1.8.0_45 -t Gradle=~/outils/gradle-2.9** et la commande m'a donné une erreur Aucun outil de "Java" est défini sur Jenkins.
Après des recherches, j'ai trouvé cela, c'est parce que dans mon Jenkins Maître (que j'ai utilisé), c'est JDK Installations section dans Jenkins paramètres globaux eu ce Nom de l'outil de la valeur "java" (en bas).
Essaie -t java=~/outils/jdk1.8.0_45 résolu le problème, et maintenant je peux voir (JDK) java outil avec la valeur ~/outils/jdk1.8.0_45 dans l'esclave de configuration.
REMARQUE:
Si vous vous connectez ou souhaitez connecter votre esclave à votre Jenkins maître à l'aide de "Anonyme" de l'utilisateur (c'est à dire que vous n'avez pas à fournir -nom d'utilisateur c123456_or_slaveSpecialUser -mot de passe $p paramètres), puis dans Jenkins de la Maîtrise (avec un niveau d'administration autorisation de le faire une seule fois le programme d'installation) > Sous Gérer des Rôles et des Utilisateurs > Sous MONDIALE Rôles section, créer un rôle (ou de modifier les Spectateur rôle) et attribuer des "+ Lire" et "Esclave + Créer un" accès.
Puis, sur la même page, sous "Esclave Rôles", de créer un Rôle pour ex: autoslave ou quelque chose comme ça et affecter tous les accès (se Connecter, Configurer, ..., Supprimer) et FAIRE assurez-vous d'attribuer un modèle(regex) pour ex: "swarm_slave.*" en elle. Ce que cela va faire est, dès maintenant, vous pouvez exécuter java-jar slave-client-...depedencies.jar sans aide -nom d'utilisateur et mot de passe paramétrée et si vous êtes à la création de l'essaim des esclaves avec nom commençant par "swarm_slave...." puis, ils s'auto-créer/se connecter/supprimer (tant que l'essaim esclave java processus sera exécuté/existe pas sur le serveur esclave).
À la suite d'un standard du modèle de nom pour les esclaves seront également vous donner plus de contrôle, si vous souhaitez utiliser Jenkins au Repos et à l'API (groovy) des scripts pour maintenir l'essaim des esclaves.
Aussi regarder ici pour plus d' (comment ajouter des variables d'ENVIRONNEMENT pour le nouvellement créé nœud): Jenkins Esclave - Comment faire pour ajouter ou mettre à jour les variables d'ENVIRONNEMENT
À l'aide de Docker pour la création de conteneurs sur les nœuds esclaves est la prochaine étape. N'oubliez pas de lire plus à ce sujet ici:
http://dockins.github.io/
et
https://wiki.jenkins.io/display/JENKINS/Docker+Esclaves+Plugin
https://github.com/jenkinsci/docker-slaves-plugin
Ce que cela signifie est dans Jenkins, il ya une façon, vous pouvez créer masqué variables (dans paramètre Global/configuration de Jenkins, c'est à dire pas au niveau de l'emploi). Aller à Jenkins > Gérer Jenkins > Configurer le Système > "les mots de passe Masqués - ..." les articles(il y en a 2, automatiquement et le mot de passe global variablename/paires de valeur). Dans/par défaut automatiquement section, cochez la marque de celui que vous voulez (par ex: les paramètres de Mot de passe, non stockées mot de passe etc..) mais ce que vous voulez est dans la 2ème section, ajouter une variable "myUser_SomeName" & fournir son mot de passe/valeur. Maintenant, vous pouvez l'utiliser dans n'importe quel travail que $myUser...
En d'autres termes: -nom d'utilisateur $myUser -mot de passe $myUserPassword (si vous avez créé. Vous ne pouvez le faire juste pour le mot de passe variable (myUserPassword), comme c'est la variable principale que vous souhaitez masquer. -Nom d'utilisateur $myUser, vous n'avez pas réellement que l'on peut donner de nom d'utilisateur c123user (codé en dur) ainsi (dans un Jenkins travail), mais il est jusqu'à vous.
Yep. Voir la documentation du plugin (en vertu de l', Après l'article): wiki.jenkins-ci.org/display/JENKINS/Mask+mots de passe+Plugin
Merci @ArunSangal pour la grande écriture. Certains ajouts que j'ai trouvé par essais et erreurs: * url de gérer les rôles, les Rôles Mondiaux, j'ai ajouté "slaverole" avec "dans l'Ensemble: Lire" , "Agent:Connect" et "Agent:Créer" * dans l'url/attribuer des rôles, ajoutez Anonyme pour rôle mondial slaverole.
OriginalL'auteur Arun Sangal
Après nous n'avons pas la mise en œuvre de la solution par Arun Sangal nous avons trouvé un moyen pour permettre à tout à tout moment d'être connecté tout en étant encore capable d'utiliser l'ESSAIM des nœuds.
Nous avons réussi à le faire en assinging Anonyme tous "agent" des droits, en plus de Lire et de Découvrir des emplois ainsi que de Lire et de vues en général.
Puis nous avons créé un rôle supplémentaire "admin" qui a tous les droits (à la fois dans "Gérer les Rôles").
Dans "Attribuer des Rôles" nous avons assigné le rôle d'administrateur à le construire-dans le groupe "authentifiée" et "Anonyme" à "Anonyme".
OriginalL'auteur Florian Straub