L'intégration de CruiseControl.Net tfs nécessite un nom d'utilisateur et un mot de passe pour un utilisateur avec des privilèges assez élevés à stocker dans les fichiers de configuration. Je ne suis pas très friand de cela, et j'ai essayé de trouver des moyens pour que le mot de passe soit stocké en toute sécurité tout en maintenant des builds entièrement automatisés.Utilisez Powershell avec CruiseControl.Net pour le stockage sécurisé des mots de passe?
Powershell a un bon support pour cela avec les ConvertTo-SecureString
et ConvertFrom-SecureString
commandes, et quelque chose comme ceci gérerait le cryptage:
"password-string" | ConvertTo-SecureString -AsPlainText -Force | Out-File pwd.dat
Et cela pourrait gérer le décryptage:
$user = "mydomain\myuser"
$pwd = Get-Content pwd.dat | ConvertFrom-SecureString
$cred = New-Object System.Management.Automation.PSCredential($user, $pwd)
CruiseControl.Net a une tâche <powershell>
qui peut être utilisée pour exécuter des scripts PowerShell, mais je ne sais pas si cela peut être fait pour retourner anyhting. Je me demande si quelqu'un a des idées sur la façon de mettre en œuvre des mots de passe sécurisés avec CruiseControl.Net? Utiliser Powershell n'est pas nécessaire, je pense juste que ce serait bien.