littlebot
Published on 2025-04-12 / 3 Visits
0

【源码】基于Docker和Docker Compose的DevOps平台部署项目

项目简介

本项目围绕Gitlab及其自带的gitlab - runner搭建,借助Docker与Docker Compose工具部署完整的DevOps平台。该平台包含研发内网域名解析、反向代理、LDAP用户认证、JIRA与Confluence项目管理、Gitlab代码管理、SonarQube代码质量检测、Nexus仓库管理以及上网代理等组件,为研发团队提供一站式开发与管理环境。若想查看基于Gerrit和Jenkins的部署方式,可切换到v0.1分支。

项目的主要特性和功能

  1. 域名解析与反向代理:利用dnsmasq提供研发内网DNS服务,Nginx进行反向代理,便于用户用域名访问各组件服务。
  2. LDAP认证:使用OpenLDAP维护用户信息,搭配phpldapadmin管理界面,支持SSL加密,可与Gitlab等组件集成实现统一认证。
  3. 项目管理:集成JIRA与Confluence,为团队提供项目管理和协作平台,支持项目与文档的创建和管理。
  4. 代码管理:采用Gitlab进行代码托管和版本控制,支持与LDAP集成,方便团队协同开发。
  5. 代码质量检测:使用SonarQube对代码进行质量检测,可通过插件扩展检测功能。
  6. 仓库管理:利用Nexus搭建仓库,支持不同类型的包管理,提供Docker镜像仓库服务。
  7. 上网代理:提供SOCKS5代理服务,支持PAC模式和全局代理模式,方便研发人员访问外网资源。

安装使用步骤

准备工作

  1. 安装docker:执行命令curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun,并根据需要配置国内源。
  2. 下载docker - compose:参考文档,执行命令sudo chmod +x /usr/local/bin/docker-compose
  3. 开启IPv4 IP forward(可选):编辑/etc/sysctl.conf,添加或修改net.ipv4.ip_forward = 1,然后重启网络和docker: systemctl restart network systemctl restart docker
  4. 挂载目录的SELinux权限(可选):若开启SELinux且采用目录挂载方式,需配置权限,如挂载主机目录为/srv/mysql,执行chcon -Rt svirt_sandbox_file_t /srv/mysql
  5. 防火墙配置:
    • iptables增加端口:配置vi /etc/sysconfig/iptables,添加规则如-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
    • firewalld开通端口:执行 firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld

部署节点

按照各组件的docker - compose.yml文件依次启动服务: 1. 研发内网域名解析:使用docker - compose启动dnsmasq容器。 2. 反向代理:使用docker - compose启动Nginx容器。 3. LDAP:使用docker - compose启动OpenLDAP和phpldapadmin容器。 4. JIRA & Confluence:使用docker - compose启动MySQL和JIRA(Confluence)容器。 5. Gitlab: - 修改主机的sshd端口为2222,并配置SELinux和防火墙。 - 使用docker - compose启动Gitlab容器。 - 编辑gitlab - config卷中的gitlab.rb配置LDAP集成,然后执行docker exec -it gitlab gitlab - ctl reconfigure使配置生效。 6. SonarQube:使用docker - compose启动SonarQube相关容器,可从SonarQube插件库下载插件并放入sonar - extensions卷的plugins目录,重启生效。 7. Nexus:使用docker - compose启动Nexus和registry容器。 8. 上网代理:使用docker - compose启动代理相关容器,通过gen - pac.sh命令生成PAC文件,可通过proxy.example.com/pac访问。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】