TODO:终于还是搭建个人代码管理平台
TODO:终于还是搭建个人代码管理平台
代码管理有VSS,CVS,SVN,GIT;本文不详细介绍各自的不同,小O在工作中用的主要是SVN和Git;SVN的管理还是比较适合国人的使用,使用也比较简单,在前面的文章中也有介绍,小O还是比较喜欢使用Git;最近也在写一些代码,需要用到版本管理,就想用Git搭建代码管理平台.
Git是开源的,在Ubuntu,macOS都已经集成了,安装好系统就可以直接使用git的相关命令,即可进行本地代码控制.
使用gogs搭建Git服务,安装简易,下载二进制运行;跨平台, 任何 Go 语言 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM; 轻量级,一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。有些用户甚至还将 Gogs 运行在 NAS 设备上。
默认系统已经安装好Git,没有可以使用apt-get install git,即可安装
下载gogs二进制包,解压好文件,进入文件夹,运行gogs web即可运行服务,进行配置安装.首先要创建代码管理数据库,数据库类型选择InnoDB,排序选择utf8_general_ci.使用supervisor来守护gogs的进程,创建/var/log/gogs文件夹,守护进程的配置如下:
[program:git_gogs]
command=/data/git/gogs/gogs web
autorestart=true
directory=/data/git/gogs/
stdout_logfile=/var/log/gogs/stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/var/log/gogs/stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
user = git
environment = HOME="/home/git", USER="git"
访问http://域名:3000即可进行安装.安装完成之后进行注册, ID=1 的用户将自动获得管理员权限.
因为服务器只开放了80,443端口,需要Nginx代理,配置Nginx指定到端口3000,并配置了SSL加密.
server
{
listen 443;
server_name git.domainname.com;
index index;
ssl on;
ssl_certificate vhost/ssl/git.domainname.pem;
ssl_certificate_key vhost/ssl/git.domainname.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
#ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:3000;
}
access_log /data/wwwlogs/git.domainname_access.log ;
}
server {
listen 80;
server_name git.domainname.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
小O把注册关闭了,因为个人使用,服务器的资源有限.
从命令行创建一个新的仓库
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://域名/xcx/gjl.git
git push -u origin master
从命令行推送已经创建的仓库
git remote add origin https://域名/xcx/gjl.git
git push -u origin master
这样简单的Git管理平台搭建成功了.
本文是小O的服务器环境进行配置,在不同环境配置略有不同,本文仅供参考,如配置有问题,具体问题具体分析,谢谢支持.
wxgzh:ludong86