【Docker项目实战】使用Docker部署Gitblit服务器
【Docker项目实战】使用Docker部署Gitblit服务器
一、Gitblit介绍
1.1 Gitblit 介绍
Gitblit
是一个完全开源的纯 Java 软件,专注于为 Git 提供一个全面的解决方案,涵盖存储库管理、代码浏览以及通过多种协议的服务提供。作为一个纯 Java 应用程序,Gitblit 非常适合那些已经拥有 Java 环境的企业或团队使用,它能够无缝集成到现有的基础设施中。
1.2 主要特点
-
开源与免费
- Gitblit 基于 Apache License 2.0 协议发布,这意味着它可以被自由地使用、修改和分发,对于中小企业和个人开发者来说是一个成本效益高的选择。
-
多协议支持
- 支持通过 GIT、HTTP 和 SSH 这三种传输协议来服务 Git 存储库,提供了灵活的选择以适应不同的网络环境和安全要求。
-
用户友好的管理界面
- 提供了一个基于 Web 的管理控制台,使得管理员可以轻松地进行用户管理、权限设置、存储库创建等操作。
-
代码浏览与搜索
- 内置了强大的代码浏览功能,允许用户查看提交历史、分支信息、文件内容以及差异比较等。此外,还支持代码搜索功能,便于快速定位所需代码片段。
-
集成性
- Gitblit 可以很容易地与现有的工具链集成,例如 Jenkins、Redmine 等,增强了持续集成和项目管理的能力。
-
轻量级部署
- 由于是纯 Java 开发,Gitblit 不仅跨平台(Windows、Linux、macOS),而且对硬件资源的要求较低,适合各种规模的团队使用。
-
安全性
- 提供了详细的权限控制机制,可以针对不同的用户或用户组设定访问权限,保护代码的安全性和隐私性。
-
插件系统
- Gitblit 支持插件扩展,可以根据需要增加额外的功能,比如与第三方认证系统的集成等,提高了灵活性和可定制性。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | Gitblit |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Gitblit服务器。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-04-02 05:59:08 UTC; 4min 6s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 906 (dockerd)
Tasks: 29
Memory: 143.2M
CPU: 1.172s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载Gitblit镜像
拉取Gitblit镜像,拉取相关镜像如下所示:
root@jeven01:~# docker pull registry.cn-hangzhou.aliyuncs.com/jeson/gitblit:v1.9.1
v1.9.1: Pulling from jeson/gitblit
57df1a1f1ad8: Pull complete
71e126169501: Pull complete
1af28a55c3f3: Pull complete
a9777c2d5c29: Pull complete
9248106993db: Pull complete
1f74ab5b5b3e: Pull complete
f33944599fe3: Pull complete
3ec5e998e40a: Pull complete
3a0313c9dd93: Pull complete
f2c7438691bf: Pull complete
Digest: sha256:d683b5e04f737315f047baec795d70bb21fa1a0ef8a8956044694f96c6c2f677
Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/jeson/gitblit:v1.9.1
registry.cn-hangzhou.aliyuncs.com/jeson/gitblit:v1.9.1
五、部署Gitblit应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/gitblit/data && cd /data/gitblit
5.2 编辑部署文件
在`部署目录下,创建docker-compose.yaml文件,如下所示:
vim docker-compose.yaml
version: '3.9'
services:
gitblit:
image: 'registry.cn-hangzhou.aliyuncs.com/jeson/gitblit:v1.9.1'
volumes:
- '/data/gitblit/data:/opt/gitblit-data'
ports:
- '29418:29418'
- '9418:9418'
- '8443:8443'
- '8088:8080'
restart: always
container_name: gitblit
5.3 创建Gitblit容器
执行以下命令,创建Gitblit容器。
root@jeven01:/data/gitblit# docker compose up -d
[+] Running 2/2
✔ Network gitblit_default Created 0.1s
✔ Container gitblit Started 0.2s
5.4 查看Gitblit容器状态
检查Gitblit容器运行状态,确保Gitblit容器正常启动。
root@jeven01:/data/gitblit# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
gitblit registry.cn-hangzhou.aliyuncs.com/jeson/gitblit:v1.9.1 "/bin/sh -c /run.sh" gitblit 3 minutes ago Up 3 minutes 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp, 0.0.0.0:9418->9418/tcp, :::9418->9418/tcp, 0.0.0.0:29418->29418/tcp, :::29418->29418/tcp, 0.0.0.0:8088->8080/tcp, :::8088->8080/tcp
5.5 检查Gitblit容器日志
检查Gitblit容器日志,确保Gitblit服务正常启动。
docker compose logs
六、访问Gitblit服务
6.1 http访问效果
浏览器地址:
http://<个人的服务器IP>:8088
,访问Gitblit服务的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。
登录Gitblit首页,默认账号密码如下:
- 默认账号:admin
- 默认密码:admin
6.2 https访问效果
浏览器地址:
https://<个人的服务器IP>:8443
,使用https方式访问Gitblit服务的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。
七、总结
通过本次实战,我们学习了如何使用 Docker 快速部署 Gitblit 服务器,体验了从环境配置到服务访问的全过程,验证了 Docker 在简化应用部署方面的强大功能。此次实践不仅帮助我们掌握了 Gitblit 的部署方法,同时也提升了对 Docker 和 Docker Compose 工具链的应用能力。未来,我们可以基于此基础进一步探索更多高级配置,如安全增强、性能优化等,以满足不同的业务需求。
- 点赞
- 收藏
- 关注作者
评论(0)