背景

由于gitlab太重,而且公司研发团队比较小,考虑用gitea替换掉gitlab。

安装步骤

  • 需要提前安装好golangnodejs
  • 创建数据库(后面初次访问gitea项目时,需要用到)
	1. 创建用户
 	SET old_passwords=0;
	CREATE USER 'gitea' IDENTIFIED BY 'gitea';
	2. 创建数据库
	CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
	3. 授权
	GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';
FLUSH PRIVILEGES;
  • 下载gitea源码
    方式一:使用git命令
    git clone https://github.com/go-gitea/gitea
    
    方式二:直接下载源码zip,没有代理工具的,推荐这个
    选择分支,我这里使用的是1.19版本。
  • 进入到gitea根目录,进行编译
    1. 本机部署,直接使用
    TAGS="bindata" make build`
    
    1. 非本机部署,使用交叉编译,就是编译得到的可执行文件,将在哪个操作系统上运行,下面的是我编译的命令
    GOOS=linux GOARCH=amd64 TAGS="bindata" make build
    
    GOOS和GOARCH可以参照官网的说明
  • 将编译得到的产物,复制到部署服务器,通过./gitea web执行,默认端口3000,直接运行,会报权限问题,那是因为无法使用root账户启动,

    1. 创建用户
     adduser \
       --system \
       --shell /bin/bash \
       --gecos 'Git Version Control' \
       --group \
       --disabled-password \
       --home /home/git \
       git
    
    1. 创建运行所有目录
    mkdir -p /var/lib/gitea/{custom,data,log}
    chown -R git:git /var/lib/gitea/
    chmod -R 750 /var/lib/gitea/
    mkdir /etc/gitea
    chown root:git /etc/gitea
    chmod 770 /etc/gitea
    

    /var/lib/gitea/ 是你自己编译产物的目录,一切准备就绪之后,再执行./gitea web命令,就成功了。

    注意:我起初build多次都超时失败,因为很多资源都在国外,需要添加代理,在环境变量中加一个参数就OK了

    export GOPROXY=https://goproxy.io,direct
    
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐