代码仓库

自己搭建代码仓库的好处

  1. github 在国外,从国内正常访问的话,速度很慢。
  2. gitee、codechina 在国内,访问速度倒是很快,但是单个仓库大小、仓库总数量都受平台限制。
  3. 有时公司需要搭建自己的代码仓库

这时候,自己搭建代码仓库的好处就体现出来了。下面使用 Gogs 搭建自己的代码仓库。

下载二进制程序

https://gogs.io/docs/installation/install_from_binary.html
根据自己的平台下载压缩包,这里选择的环境是 Linux amd64

  1. wget https://dl.gogs.io/0.12.3/gogs_0.12.3_linux_amd64.tar.gz

image.png

解压

  1. tar xf gogs_0.12.3_linux_amd64.tar.gz

运行

image.png
image.png

从浏览器进行后续部署

image.png
可能出现的问题:浏览器无响应。
解决办法:关闭服务器防火墙。
2021-08-26-23-57-02-929262.png
image.png
为了部署简单,数据库选用 sqlite3,这样就不需要安装任何数据库了,甚至 sqlite3 命令都不需要安装。

登录

image.png

创建仓库并上传项目

开机自启

如下

  1. 在 rc.local 中添加 gogs/gogs web > /dev/null 2>&1 &,结果不生效,这行命令应该是执行了(在其上面添加了一句测试命令,执行到了),只是没有真正把 gogs 启动起来。
  2. 在 /etc/init.d/ 中添加自启脚本,链接到 rc[2-5].d 目录下,依旧不生效。

最后发现,其实,gogs 已经提供了相应开机启动服务脚本,不过需要根据自己的配置修改gogs/scripts/systemd/gogs.service

  1. [root@izbp1gxt3epy9qvyrcc08sz systemd]# pwd
  2. /root/gogs/scripts/systemd
  3. [root@izbp1gxt3epy9qvyrcc08sz systemd]# cat gogs.service
  4. [Unit]
  5. Description=Gogs
  6. After=syslog.target
  7. After=network.target
  8. After=mariadb.service mysqld.service postgresql.service memcached.service redis.service
  9. [Service]
  10. # Modify these two values and uncomment them if you have
  11. # repos with lots of files and get an HTTP error 500 because
  12. # of that
  13. ###
  14. #LimitMEMLOCK=infinity
  15. #LimitNOFILE=65535
  16. Type=simple
  17. User=git
  18. Group=git
  19. WorkingDirectory=/home/git/gogs
  20. ExecStart=/home/git/gogs/gogs web
  21. Restart=always
  22. Environment=USER=git HOME=/home/git
  23. # Some distributions may not support these hardening directives. If you cannot start the service due
  24. # to an unknown option, comment out the ones not supported by your version of systemd.
  25. ProtectSystem=full
  26. PrivateDevices=yes
  27. PrivateTmp=yes
  28. NoNewPrivileges=true
  29. [Install]
  30. WantedBy=multi-user.target

拷贝到 /usr/lib/systemd/system,并使能服务,重启
2021-08-26-23-57-03-386256.png
查看 gogs 是否启动
2021-08-26-23-57-03-477257.png
看到 gogs 已经自启了,浏览器也可以正常访问。