Configuration Log Jenkins Runner : Différence entre versions
m |
(Aucune différence)
|
Version actuelle en date du 18 septembre 2018 à 12:39
Suite à l'installation de Jenkins
en service à l'aide de Jenkins Runner
, les fichiers trace ont été configurés pour se trouver dans le répertoire /var/log/jenkins
. Cet article présente la configuration des fichiers au sein de l'outils Java Service Wrapper
.
Votre avis
Nobody voted on this yet
|
|
Etude
Avec la configuration mise en place dans le fichier wrapper.conf
, le fichier trace est généré à l'emplacement /var/log/jenkins/jenkins.log
.
Cependant, la configuration par défaut n'inclus pas de rotation et de permissions spécifiques sur le fichier. Il est donc lisible de tous les comptes accédant à la machine. L'installation étant réalisé sur une machine Ubuntu
, il est souhaité d'harmoniser les permissions, à savoir donner un accès total au propriétaire, soit jenkins
et un accès en lecture au groupe adm
.
Permission
La configuration des permissions s'effectue avec la propriété wrapper.logfile.umask
qui prend un masque de permissions explicité sur la documentation officielle du wrapper : https://wrapper.tanukisoftware.com/doc/english/prop-umask.html
L'objectif étant d'avoir une permission du type 640
, le masque doit interdire les permissions suivantes.
- Exécution pour propriétaire;
- Exécution et écriture pour le groupe;
- Exécution, écriture et exécution pour les utilisateurs.
La valeur de la propriété est donc 0027
.
wrapper.logfile.umask=0027
Nom groupe
Le fichier de trace étant créé par le compte de démarrage du service, les permissions sont hérités de celui-ci. Or il n'existe pas d'option dans Java Service Wrapper
pour indiquer le groupe. Donc dans le cadre de cette installation, les permissions sont affectées à jenkins:jenkins
, or il est souhaité que ce soit jenkins:adm
.
Pour cela, les options de permissions natives à Linux
sont utilisées, en fournissant l'argument g+s
à la commande chmod sur le répertoire.
#sudo chmod g+s /var/log/jenkins
Ainsi, les propriétés sont hérités lors de la création d'un nouveau fichier dans le répertoire /var/log/jenkins
.
Rotation
Par défaut, aucune rotation n'est mise en place.
Le premier exemple de rotation est basé sur la taille des fichiers. Il est souhaité de n'avoir que des fichiers de 5 Mo, propriété wrapper.logfile.maxsize
, avec un nombre maximum de 20 fichiers, propriété wrapper.logfile.maxfiles
.
# Maximum size that the log file will be allowed to grow to before
# the log is rolled. Size is specified in bytes. The default value
# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
# 'm' (mb) suffix. For example: 10m = 10 megabytes.
#wrapper.logfile.maxsize=0
wrapper.logfile.maxsize=5m
# Maximum number of rolled log files which will be allowed before old
# files are deleted. The default value of 0 implies no limit.
#wrapper.logfile.maxfiles=0
wrapper.logfile.maxfiles=20
A noter que la valeur de la propriété wrapper.logfile.rollmode
peut être spécifiée à SIZE
pour s'assurer du mode de rotation par taille de fichier. Mais cela est automatiquement le cas avec la configuration ci dessus.
La seconde configuration présentée permet une rotation journalière avec un nombre maximum de 20 fichiers, propriété wrapper.logfile.maxfiles
. Pour la configuration journalière il faut changer le mode de rotation, propriété wrapper.logfile.rollmode
avec DATE
et il faut ajouter le pattern YYYYMMDD
dans le nom du fichier de trace.
# Log file to use for wrapper output logging.
#wrapper.logfile=../../logs/jenkins.log
wrapper.logfile=../../logs/jenkins-YYYYMMDD.log
wrapper.logfile.rollmode=DATE
# Maximum number of rolled log files which will be allowed before old
# files are deleted. The default value of 0 implies no limit.
#wrapper.logfile.maxfiles=0
wrapper.logfile.maxfiles=20
Voir Aussi
Configuration Logger Java Service Wrapper
: https://wrapper.tanukisoftware.com/doc/english/props-logging.html
https://wrapper.tanukisoftware.com/doc/english/prop-umask.html
https://wrapper.tanukisoftware.com/doc/english/prop-logfile-rollmode.html