2012年11月29日 星期四

TeamCity 改用網域帳號LDAP登入

如果開發環境中有網域管理的話,可以把登入模式改LDAP模組登入

打開C:\ProgramData\JetBrains\TeamCity\config\main-config.xml

裡面的auth-type節點中,預設會是DefaultLoginModule

<login-module class="jetbrains.buildServer.serverSide.impl.auth.DefaultLoginModule" />

將模組改成LDAPLoginModule就行了

<login-module class="jetbrains.buildServer.serverSide.impl.auth.LDAPLoginModule" />

再來是設定LDAP的環境參數,在config資料夾中,有一個ldap-config.properties.dist的範本檔

複制成ldap-config.properties這個檔案,再用文字編輯器打開來修改,主要有以下幾個項目
把example換成自已的網域名稱

#設定AD的位置
java.naming.provider.url=ldap://dc.example.com:389/DC=example,DC=com

#設定登入的時後,帳號格式不用包含\或是@
teamcity.auth.loginFilter=[^/\\\\@]+

#配合上一個設定,和AD驗證的時後,送過去的帳號,前面自動補上網域名稱
teamcity.auth.formatDN=example\\$login$

設定這三個項目,其他改用預設值,就可以用網域驗證了
登入後如果要同步帳號資料,可以再多加以下幾個選項
java.naming.security.principal=<username>
java.naming.security.credentials=<password>
teamcity.users.username=sAMAccountName
teamcity.options.users.synchronize=true
teamcity.users.filter=(objectClass=user)
teamcity.users.property.displayName=displayName
teamcity.users.property.email=mail

第一次登入的時後,會需要設定帳號成管理員

如果有問題,可以查一下log
log位置在 C:\TeamCity\logs


參考資料




上一篇:TeamCity 建置後打包和發佈套件
下一篇:TeamCity 安裝BuildAgent