2011-04-28 10 views
1

CruiseControl.Net tfs 통합에는 구성 파일에 저장되는 다소 높은 권한을 가진 사용자의 사용자 이름과 암호가 필요합니다. 나는 그다지 좋아하지 않으며 패스워드를 안전하게 저장하고 완전히 자동화 된 빌드를 유지하는 방법을 생각하려고 노력했다.안전한 암호 저장을 위해 CruiseControl.Net과 함께 Powershell을 사용 하시겠습니까?

PowerShell은 ConvertTo-SecureStringConvertFrom-SecureString 명령이 좋은 지원을하고,이 같은 암호화 처리 할 것 :

"password-string" | ConvertTo-SecureString -AsPlainText -Force | Out-File pwd.dat 

을 그리고 이것은 해독 처리 할 수 ​​:

$user = "mydomain\myuser" 
$pwd = Get-Content pwd.dat | ConvertFrom-SecureString 
$cred = New-Object System.Management.Automation.PSCredential($user, $pwd) 

CruiseControl.Net가있다 powershell 스크립트를 실행하는 데 사용할 수있는 <powershell> 작업이지만 anyhting을 반환 할 수 있는지 여부는 확실하지 않습니다. 누구든지 CruiseControl.Net을 사용하여 안전한 암호를 구현하는 방법에 대한 아이디어가 있다면 궁금합니다. Powershell을 사용하는 것은 필요하지 않습니다, 나는 단지 그것이 깔끔할 것이라고 생각하고 있습니다.

답변

0

적어도 : <user>, <password><domain> 매개 변수를 생략하면 CruiseControl은 서비스를 실행하는 사용자의 자격 증명을 사용합니다.

더 일반적인 질문은 출력을 잡을 수 있는지 여부는 테스트해야합니다. [system]::SetEnvironmentVariable(name,value)을 사용하여 환경 변수를 설정하는 것이 가능할 수도 있지만 테스트하지는 않았습니다.