Travis CI ne sait pas s'authentifier

ZDS needs your help

Le problème exposé dans ce sujet a été résolu.

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?

+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

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 ?

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é....

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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