Erf, la date

Vous avez sans doute lu mon dernier article avec une espèce de curiosité un peu malsaine ….

Bon, je vous explique. J’utilise au bureau Jenkins, très bon outil d’intégration continue. Ce outil, je lui fait faire des trucs pas forcément catholiques (comme par exemple émuler les releases maven).

Bien, dans la release maven, il ya une étape où on crée un tag, et ensuite on change la version maven dans ce tag. Donc pour ça, on crée le tag (ça je crois que je l’ai déja dit), et on fait un checkout du tag.

Et c’est ce checkout qui ne marche pas, ce qui m’a fait m’arracher les cheveux (bon, je n’en ai plus depuis un moment, mais c’est tout comme) depuis une semaine. Pourquoi ?

Vous allez rire, j’en suis sûr.

Parce que, comme toute bonne histoire de DevOps, c’est la couche en laquelle j’avais confiance qui a foiré.

En l’occurence, le serveur Subversion, l’esclave Jenkins et Jenkins ne sont pas à la même heure … il y a même un décalage de 10 minutes entre eux. Jenkins est dans le passé des deux autres. Donc, comme je fais la création de tag dans un job, et le switch dans un autre, eh bien ce deuxième job démarre avec un timestamp fourni par Jenkins (donc 10 minutes dans son propre passé). A cet instant, évidement, le tag n’existe pas, et le switch ne peut que mal se passer.

J’ai donc enfilé mon meilleur costume de Linuxien fou et cherché comment configurer un serveur de temps, sur la machine Subversion (une Ubuntu), sur l’esclave (un XServe sous MacOS), et Jenkins. Hélas, la machine virtuelle hébergeant ce dernier n’a pas d’accès réseau. Je n’ai donc pas pu configurer NTP et j’ai dû, à la main, changer la date de Linux. La honte, non ?

Du coup, je vais devoir ajouter un job dans Jenkins pour vérifier qu’il n’y a pas un décalage trop important (voire, et j’en ai honte, pour  synchroniser la date de la machine Jenkins avec celle de la machine Subversion (comme ça, plus de décalage possible) !

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s