Table des matières
-
Fonctionnalités
-
Écrire des journaux d’activité et de tâches dans un fichier (PRO)
Gardez un enregistrement persistant de tous les journaux d’activité en les enregistrant directement dans un fichier. Disponible dans la version PRO.
En savoir plus » -
Page des jetons API
Vous n’avez plus besoin d’utiliser cURL pour créer un jeton API.
En savoir plus » -
Voir les journaux de tâches bruts
Vous pouvez maintenant accéder à la sortie brute non traitée des journaux pour toute tâche — parfait pour le débogage.
En savoir plus » -
Effacer le cache des projets et des exécuteurs
Libérez de l’espace et commencez à neuf en effaçant manuellement le cache des projets et des exécuteurs.
En savoir plus » -
Remplacer la branche dans les modèles et les tâches
Changez de branche de manière flexible sans modifier l’ensemble de votre modèle — remplacez-la simplement par tâche ou par modèle.
En savoir plus » -
Nouvelle variable d’environnement pour la configuration du fournisseur OIDC
Une nouvelle variable d’environnement a été ajoutée pour simplifier la configuration et l’intégration du fournisseur OIDC.
En savoir plus » -
Nouvelle structure de répertoire temporaire
Nous avons amélioré la structure des répertoires temporaires pour offrir une meilleure isolation et les rendre plus faciles à comprendre.
En savoir plus » -
Possibilité d’ajouter manuellement des utilisateurs externes (LDAP et OIDC)
Vous pouvez maintenant ajouter des utilisateurs LDAP et OIDC à Semaphore avant qu’ils ne se connectent pour la première fois.
En savoir plus » -
Valeurs par défaut pour les variables d’enquête
Vous pouvez maintenant définir des valeurs par défaut pour les variables d’enquête, facilitant ainsi le pré-remplissage des entrées courantes lors des exécutions de tâches.
En savoir plus » -
Support TLS pour les connexions au serveur SMTP
Semaphore prend désormais en charge les connexions sécurisées TLS lors de l’envoi d’e-mails via un serveur SMTP.
En savoir plus » -
Niveaux de verbosité configurables pour les playbooks Ansible
Vous pouvez maintenant sélectionner le niveau de verbosité souhaité lors de l’exécution des tâches de playbook Ansible, ce qui aide au débogage et à la résolution des problèmes.
En savoir plus » -
Support Chroot et exécution de tâches en tant qu’utilisateur différent
Semaphore peut désormais exécuter des tâches dans un environnement chroot et sous un utilisateur spécifié, améliorant ainsi la sécurité et l’isolation.
En savoir plus » -
Support de l’authentification des webhooks Bitbucket
Les intégrations peuvent désormais être configurées en utilisant l’authentification des webhooks Bitbucket.
En savoir plus » -
Paramètres de fuseau horaire des horaires
Semaphore n’utilise plus le fuseau horaire du système. Au lieu de cela, vous pouvez maintenant définir explicitement un fuseau horaire pour les horaires.
En savoir plus »
-
Fonctionnalités
Écrire des journaux d’activité et de tâches dans un fichier (PRO)
Semaphore Pro prend désormais en charge l’écriture des journaux d’activité et de tâches dans un fichier. Pour activer cela, ajoutez la configuration suivante à votre config.json
:
{
"log": {
"events": {
"enabled": true,
"logger": {
"filename": "./events.log"
}
},
"task": {
"enabled": true,
"logger": {
"filename": "./tasks.log"
}
}
}
}
Ou vous pouvez le faire en utilisant les variables d’environnement suivantes :
export SEMAPHORE_EVENT_LOG_ENABLED=True
export SEMAPHORE_EVENT_LOG_PATH=./tasks.log
export SEMAPHORE_TASK_LOG_ENABLED=True
export SEMAPHORE_TASK_LOG_PATH=./tasks.log
Chaque ligne dans le fichier suit ce format :
2024-01-03 12:00:34 user=234234 object=template action=delete ...
La journalisation des fichiers prend également en charge la rotation. Plus de détails sont disponibles dans la documentation.
Page des jetons API

Voir les journaux de tâches bruts
Vous pouvez maintenant ouvrir le journal brut d’une tâche en cliquant sur le bouton JOURNAL BRUT dans le coin inférieur droit de la fenêtre des journaux de tâches.

Effacer le cache des projets et des exécuteurs
Semaphore vous donne désormais plus de contrôle sur la gestion du cache.
Auparavant, le cache inutilisé était automatiquement effacé lorsque vous supprimiez des modèles ou des projets. Cependant, dans certains cas, un cache résiduel pouvait rester et être stocké indéfiniment.
Avec la nouvelle fonctionnalité Effacer le cache, vous pouvez nettoyer manuellement :
- Le cache pour un projet spécifique
- Le cache pour un exécuteur de projet
- Tout le cache pour un exécuteur
- Ou même le cache de l’ensemble du serveur Semaphore
Cela aide à libérer de l’espace disque, à améliorer les performances et à garder votre environnement propre.

Remplacer la branche dans les modèles et les tâches
Vous pouvez maintenant remplacer la branche par défaut du dépôt source dans les paramètres du modèle.
Alternativement, activez l’option Demander la branche lors de l’exécution pour choisir la branche chaque fois que vous exécutez une tâche.

Nouvelle variable d’environnement pour la configuration du fournisseur OIDC
Nous avons introduit une nouvelle variable d’environnement : SEMAPHORE_OIDC_PROVIDERS
pour configurer les fournisseurs OpenID Connect (OIDC).
Ceci est particulièrement utile lors de l’exécution de Semaphore à l’intérieur d’un conteneur Docker.
La variable doit contenir un JSON valide dans le format suivant :
SEMAPHORE_OIDC_PROVIDERS='{
"github": {
"client_id": "***",
"client_secret": "***"
// champs supplémentaires...
}
}'
Nouvelle structure de répertoire temporaire
Nous avons amélioré la structure des répertoires temporaires en introduisant des répertoires par projet. Maintenant, chaque projet a son propre dossier dédié sous le répertoire tmp_path
.
Ce changement facilite la gestion et le nettoyage du cache lorsqu’un projet est supprimé.
De plus, le répertoire d’inventaire pour les modèles suit désormais un format de nommage clair, tel que :
tmp_path/project_0/repository_1_template_2_inventory_3
Cette structure aide à éviter de cloner le dépôt d’inventaire à chaque exécution de tâche, améliorant ainsi les performances et réduisant la redondance.
Possibilité d’ajouter manuellement des utilisateurs externes (LDAP et OIDC)
Vous pouvez maintenant ajouter des utilisateurs LDAP et OIDC à Semaphore avant qu’ils ne se connectent pour la première fois.
Cela vous permet de configurer leurs autorisations et de les assigner à des projets à l’avance.
Vous avez besoin de droits d’administrateur pour ajouter un utilisateur via l’interface web (case à cocher Externe), ou vous pouvez utiliser la CLI avec le drapeau --external
:
semaphore user add \
--external \
--login john \
--name John \
--email [email protected] \
--password=changeme
Valeurs par défaut pour les variables d’enquête
Vous pouvez maintenant définir des valeurs par défaut pour les variables d’enquête, facilitant ainsi le pré-remplissage des entrées courantes lors des exécutions de tâches.

Support TLS pour les connexions au serveur SMTP
Semaphore prend désormais en charge les connexions sécurisées TLS lors de l’envoi d’e-mails via un serveur SMTP. Exemple de configuration :
{
"email_alert": true,
"email_sender": "[email protected]",
"email_host": "smtp.example.com",
"email_username": "user123",
"email_password": "changeme",
"email_tls": true,
"email_port": "587",
"email_tls_min_version": "1.1" // optionnel (par défaut 1.2)
}
Niveaux de verbosité configurables pour les playbooks Ansible
Vous pouvez maintenant sélectionner le niveau de verbosité souhaité lors de l’exécution des tâches de playbook Ansible, ce qui aide au débogage et à la résolution des problèmes.

Chroot support et exécution de tâches en tant qu’utilisateur différent
Semaphore peut désormais exécuter des tâches dans un environnement chroot et sous un utilisateur spécifié, améliorant ainsi la sécurité et l’isolation. Exemple de configuration :
{
"process": {
"chroot": "/opt/semaphore/chroot",
"user": "semrun"
}
}
Exemple de variables d’environnement :
SEMAPHORE_PROCESS_CHROOT=/opt/semaphore/chroot
SEMAPHORE_PROCESS_USER=semrun
Support de l’authentification des webhooks Bitbucket
Les intégrations peuvent désormais être configurées en utilisant l’authentification des webhooks Bitbucket.

Paramètres de fuseau horaire des horaires
Semaphore n’utilise plus le fuseau horaire du système. Au lieu de cela, vous pouvez maintenant définir explicitement un fuseau horaire pour les horaires en utilisant l’option de configuration suivante :
{
"schedule": {
"timezone": "Asia/Calcutta"
}
}
Ou en utilisant la variable d’environnement suivante :
SEMAPHORE_SCHEDULE_TIMEZONE=Asia/Calcutta
Corrections de bogues
- Utiliser le fuseau horaire UTC de manière cohérente dans l’application.
- Éviter de cloner le dépôt d’inventaire à chaque exécution de tâche.
- Les cases à cocher des tâches Terraform fonctionnent désormais correctement.
- Les cases à cocher des jours de la semaine dans l’horaire fonctionnent désormais correctement.
- Rétabli la possibilité de définir des descriptions pour les modèles.