我已经为LDAP登录配置了TeamCity(8.1.4),它的工作方式与广告一样,包括displayname和email的同步。但是我遇到了VCS属性同步的问题。
正在创建新用户(首次登录时),而不会填充其显示名称或电子邮件地址。当同步发生时,这可以解决,因此我知道同步适用于这些属性。 我需要正确填写“所有VCS根目录的默认值”属性。这是必需的,以便人们可以匹配他们的签到(目前没有发生),因此他们可以在他们中断测试时通过电子邮件发送。
“所有VCS根目录的默认值”属性只是填充为用户名,但我需要它为DOMAIN \ username。
我的设置:
java.naming.provider.url=ldap://my.domaincontroller.com:389/DC=mydomain,DC=local
java.naming.security.principal=monkey
java.naming.security.credentials=bubbles
teamcity.users.base=OU=group2,OU=Users
teamcity.users.login.filter=(sAMAccountName=$capturedLogin$)
teamcity.users.username=sAMAccountName
teamcity.auth.loginFilter=.*
teamcity.options.users.synchronize=true
teamcity.users.filter=(objectClass=user)
teamcity.options.groups.synchronize=false
teamcity.options.createUsers=false
teamcity.options.deleteUsers=false
teamcity.options.syncTimeout = 3600000
teamcity.groups.property.member=member
teamcity.users.property.displayName=displayName
teamcity.users.property.email=mail
teamcity.users.property.plugin\:vcs\:anyVcs:anyVcsRoot=mydomain\\$sAMAccountName$
答案 0 :(得分:0)
您可以使用LDAP的设置来实现此目的,但是当我们在项目中进行设置时遇到了一些问题。我们有多种类型的VCS repo,当我们开始转移到Git时,我们的存储库只是没有将用户名存储在DOMAIN //用户名语法中。
更好的方法是更新teamcity数据库中的用户表,将所有基于TFS的根的默认用户ID设置为DOMAIn / username。这是语法
insert into user_property
values(<user_id>,'plugin:vcs:jetbrains.**tfs**:anyVcsRoot','DOMAIN//username')