1.docker 安装
由于手动部署ldap时间成本太大,故本文章采用docker部署,及本文章账号集成只是可以登录,没有细节分组之类,如有需要,望诸君自行研究
1. curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun #一键安装docker
2. systemctl start docker #启动docker
2.LDAP 部署
docker run \
-p 389:389 \
-p 636:636 \
--name your_ldap \
--network bridge \
--hostname openldap-host \
--env LDAP_ORGANISATION="bitshare" \
--env LDAP_DOMAIN="bitshare.com" \
--env LDAP_ADMIN_PASSWORD="123456" \
--detach osixia/openldap
————————————————
其中 -p 389:389 \ TCP/IP访问端口,-p 636:636 \ SSL连接端口。
–name your_ldap 自行设置容器名称
–network bridge 连接默认的bridge网络(docker0)
–hostname openldap-host 设置容器主机名称为 openldap-host
–env LDAP_ORGANISATION=“bitshare” 配置LDAP组织名称
–env LDAP_DOMAIN=“bitshare.com” 配置LDAP域名
–env LDAP_ADMIN_PASSWORD=“123456” 配置LDAP密码
默认登录用户名:admin
————————————————
原文链接:https://blog.csdn.net/qq_41916805/article/details/107206646
使用ldapadmin进行连接ldap服务



创建完账号记得设置密码
3.Jenkins 部署集成
本文章为方便,使用的是jenkins 的war包进行的部署,及本文将gitlab,jenkins 禅道部署在同一台机器上
git-jenkins ]# mkdir /opt/src
git-jenkins ]# cd /opt/src
# 安装jdk
git-jenkins ]# wget http://file.zhidianjh.com:28085/jdk/jdk-8u221-linux-x64.tar.gz
git-jenkins ]# tar xf jdk-8u221-linux-x64.tar.gz -C /usr/local/
git-jenkins ]# cat >>/etc/profile<<EOFexport JAVA_HOME=/usr/local/jdk1.8.0_221
git-jenkins ]# export JRE_HOME=\${JAVA_HOME}/jre
git-jenkins ]# export CLASS_PATH=.:\${JAVA_HOME}/lib:\${JRE_HOME}/lib
git-jenkins ]# export PATH=\${JAVA_HOME}/bin:\$PATH
git-jenkins ]# EOF
# 确认jdk部署成功
[root@git-jenkins ~]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
#部署jenkins
git-jenkins ]# cd /opt/src
git-jenkins ]# wget http://file.zhidianjh.com:28085/tomcat/apache-tomcat-8.5.47.tar.gz
git-jenkins ]# tar xf apache-tomcat-8.5.47.tar.gz -C /usr/local/
git-jenkins ]# cd /usr/local/
git-jenkins ]# ln -s /usr/local/apache-tomcat-8.5.47 /usr/local/tomcat
git-jenkins ]# cd /usr/local/tomcat
git-jenkins ]# cd /usr/local/tomcat/webapps/
git-jenkins ]# wget http://file.zhidianjh.com:28085/jenkins/ROOT.war
git-jenkins ]# vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" --> <Connector port="155" protocol="HTTP/1.1" #修改端口,避免冲突
git-jenkins ]# cd /usr/local/tomcat/bin/
git-jenkins ]# sh startup.sh
# 查看tomcat是否启动成功,及端口是否存在
git-jenkins ]# ps -ef | grep tomcat
git-jenkins ]# netstat -lntp| grep 155
访问jenkins 登录地址,IP+port 进行首次访问,初始化配置,配置Jenkins 集成ldap

保存应用,测试账号是否能登录
4. gitlab搭建
https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 清华大学源gitlab下载地址
git-jenkins ]# cd /opt/src/
git-jenkins ]# wget http://file.zhidianjh.com:28085/gitlab/gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm
git-jenkins ]# yum localinstall gitlab-ce-12.3.0-ce.0.el7.x86_64.rpm -y
git-jenkins ]# vim /etc/gitlab/gitlab.rb
external_url 'http://0.0.0.0' #配置URL
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = "123@qq.com" # 发件邮箱
gitlab_rails['gitlab_email_display_name'] = 'OldXu-GitLab' # 发件人显示名称
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "123@qq.com" #发件人邮箱账户
gitlab_rails['smtp_password'] = "" #发件人邮箱客户端授权码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
关闭不需要的程序(可选)
1385 prometheus['enable'] = false
1474 node_exporter['enable'] = fals
1493 redis_exporter['enable'] = false
1511 postgres_exporter['enable'] = false
1560 grafana['enable'] = false
git-jenkins ]# cd /opt/src/
git-jenkins ]# wget https://gitlab.com/xhang/gitlab/-/archive/12-3-stable/gitlab-12-3-stable.tar.gz
git-jenkins ]# tar xf gitlab-12-3-stable.tar.gz
git-jenkins ]# \cp -r gitlab-12-3-stable/* /opt/gitlab/embedded/service/gitlab-rails/
git-jenkins ]# gitlab-ctl reconfigure
git-jenkins ]# gitlab-ctl start
访问gitlab地址,初始化密码
调整偏好设置


调整gitlab配置文件,集成ldap
git-jenkins ]# vim /etc/gitlab/gitlab.rb
gitlab_rails['ldap_enabled'] = true
###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: '172.16.20.73'
port: 389
uid: 'cn'
###! **remember to close this block with 'EOS' below**
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: '172.16.20.73'
port: 389
uid: 'cn'
bind_dn: 'cn=admin,dc=bitshare,dc=com'
password: '123456'
encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
verify_certificates: true
smartcard_auth: false
active_directory: true
allow_username_or_email_login: false
lowercase_usernames: false
block_auto_created_users: false
base: 'dc=bitshare,dc=com'
user_filter: ''
EOS
git-jenkins ]# gitlab-ctl stop
git-jenkins ]# gitlab-ctl reconfigure
git-jenkins ]# gitlab-ctl start
访问gitlab,此时会出来一个LDAP的标签,测试账号是否能够登录
5.部署禅道
git-jenkins ]# cd /opt/src/
git-jenkins ]# wget https://www.zentao.net/dl/zentao/15.2/ZenTaoPMS.15.2.zbox_64.tar.gz
git-jenkins ]# tar xf ZenTaoPMS.15.2.zbox_64.tar.gz -C /opt/
git-jenkins ]# /opt/zbox/zbox start
PS : 如果所有的服务都部在同一台服务器上,记得修改端口
git-jenkins ]# /opt/zbox/zbox status
我这里部署的是15.2的版本,需要安装插件进行集成ldap

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构