Travis CI ne sait pas s'authentifier

ZDS needs your help

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous !

Le développement de zds fait face à un problème très gênant ces derniers temps. C’est ce problème qui nous empêche de releaser les futures versions du site.

En effet, le processus habituel de release dit que lorsqu’on fait un tag, à la fin de la construction du front, travis pousse un tag spécial num_version-build dans lequel se trouve l’ensemble des fichiers du front dans leur forme prête à être distribuées.

Mais voilà, depuis quelques temps, le build obtient cette erreur :

1
2
3
4
5
remote: Invalid username or password.

fatal: Authentication failed for 'https://[secure]@github.com/zestedesavoir/zds-site.git/'

Pushing to GitHub failed! Check the logs.

Nous avons testé pas mal de chose, notamment, nous avons changé les credentials, regénéré des tokens propres, utilisé le log en mode https://{token}@github.com/zestedesavoir/zds-site.git que vous voyez plus haut.

AUriez-vous déjà eu le problème? Sauriez vous comment le résoudre?

Édité par cepus

+0 -0

Il me semble que zds utilise le mécanisme ici de Travis, ce qui correspond cette ligne du travis.yml :

1
echo "machine github.com login $GITHUB_TOKEN password x-oauth-basic" > $HOME/.netrc
.travis.yml

Visiblement le code n’a pas changé à ce niveau là depuis, je pencherai donc sur un changement chez Travis qui semble être devenu plus restrictif, et/ou a changé sa doc entre temps.

Je ne sais pas trop ce qui a été testé, mais que se passe t-il si on respecte la doc tout simplement (en prennant soin de garder le retour à la ligne inclut dans la commande) ? Quelque chose comme :

1
echo -e "machine github.com\n  login $GITHUB_TOKEN" >> ~/.netrc
+0 -0

Mais voilà, depuis quelques temps, le build obtient cette erreur :

1
2
3
4
5
remote: Invalid username or password.

fatal: Authentication failed for 'https://[secure]@github.com/zestedesavoir/zds-site.git/'

Pushing to GitHub failed! Check the logs.
artragis

C’est normal le dernier slash dans l’url ?

+0 -0

Cette réponse a aidé l’auteur du sujet

J’ai regardé un peu de plus près, le problème semble venir plus de github que de travis.

Si je fais un :

1
2
3
4
git clone https://github.com/firm1/zds-site.git
# je crée un token avec les capacités sur le repo, puis
git remote set-url origin https://<mon_token>:x-oauth-basic@github.com/firm1/zds-site.git
git push origin <mon_tag>

Je me mange un remote: Invalid username or password.

Il semblerait donc qu’il y ait un bug avec le push via x-oauth-basic sur github.

Par contre si je push avec mes id/password tout se passe très bien. Donc pour le moment c’est la seule façon de résoudre le souci on dirait.

En gros  :

  • créer un utilisateur qui a le droit de push sur le repo.
  • ajouter son login et password en tant que variable secure ($BOT_LOGIN, $BOT_PASSWORD) dans travis
  • dans le travis.yml faire echo "machine github.com login $BOT_LOGIN password $BOT_PASSWORD" > $HOME/.netrc

Par contre, effectivement ça pose quelques problèmes de sécurité....

+2 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte