用了那么久GitHub的你,不妨来试试在容器里搭建私有Git?Gitea是一款极易搭建的自助 Git 服务,Linux 下可部署至Docker容器,以便获取最佳体验!
很多时候,开发项目用私有Git相对更安全(无端),至少在版本分支等都和GitHub差不多,所谓更私有化,不公开化正是这个道理。团队合作以及团队内部分不参与开发的可以不加入项目直接预览。由于个人看法不同,本博主还是推荐使用GitHub的,在此,仅是为了分享部署经验以及部分要点。
首先,你得有台Linux的机子,其次机子上得先安装Docker容器。如果你不想干涉别的服务的话,Docker容器是个好选择,当然你也可以在Linux以 Service 方式运行。这里只讲关于docker部署的细节。登入终端,我们得先拉取Docker镜像,键入
docker pull gitea/gitea:latest
后静等Docker拉取完毕,之后得让数据持久化,因为Docker容器在关闭之后是不会保存储存的数据的,所以我们得在宿机上建立一个文件夹,以便让相应Docker容器储存数据。
sudo mkdir -p /home/gitea
然后就可以运行 Docker 容器了,这此之前可能需要开放几个端口供Docker容器使用。
docker run -d --name=gitea -p 51022:22 -p 51001:3000 -v /home/gitea:/data gitea/gitea:latest
之后会输出一串DockerID,即表示运行成功了。
现在,可以通过 http://localhost:51001
来访问Gitea前端了。不过在此推荐创建个二级域解析并反代至此。
在安装的过程中,如果你需要使用MYSQL作为Gitea的数据库的话,数据库连接地址直接填 localhost:3306
可能是无效的。这时需要先获取当前容器真实的IP地址,以便判断宿机的内网IP。
先查看容器列表,在终端键入
docker ps -a
可以得到
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06ef44e31213 gitea/gitea:latest "/usr/bin/entrypoi..." 6 hours ago Up 5 hours 0.0.0.0:51022->22/tcp, 0.0.0.0:51001->3000/tcp Gitea
复制表中Container ID对应的容器ID,之后键入
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 06ef44e31213
即返回这个容器的IP地址。
注意!这里的容器ID 06ef44e31213
视自己的情况而定。
假如返回的IP是:122.15.0.2
那么你的宿机IP就是:122.15.0.1
得知内网IP之后将数据库的连接地址 localhost:3306
更换成 122.15.0.1:3306
就可以了。
现在让我们好好享受吧!
评论
gitlab或许是个很不错的选择。
试着做一个