在资安越来越严苛的情况下
公司内部通常需要一个版本控制的储存库以方便进行存储观看程式与版本历史
这时我最近发现有一个很火的 Git 储存库 Gitea
可以非常方便安装使用
接下来用 做一杯茶的时间
一起安装 Gitea
吧!
安装 Ubuntu Server 与 Docker
至 Ubuntu Server 下载 iso 档案并安装选择:Option 2 - Manual server installation
当前环境安装 Ubuntu Server 21.10
安装完成将系统版本更新至最新: sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
使用脚本安装 Docker: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyu
若出现 ca-certificates 问题则执行: sudo apt-get install --reinstall ca-certificates
建立 Gitea 程式储存库
安装最新版本 Gitea: sudo docker pull gitea/gitea:latest
建立 Git 储存库: sudo mkdir -p /var/lib/gitea
启动 Docker 容器: sudo docker run -d --privileged=true --restart=always \ --name=gitea -p 10022:22 -p 10080:3000 \ -v /var/lib/gitea:/data \ -v /etc/localtime:/etc/localtime:ro \ -v /etc/timezone:/etc/timezone:ro \ gitea/gitea:latest
-d(--detach)
:代表执行 container 并印出 container ID--privileged=true
:使用该参数让 container 内的 root 拥有真正的 root 权限--restart=always
:重启时将自动重启容器-p(--publish)
:将容器的指定端口发布到主机(主机端口:容器端口)-v(--volume)
:使用指定储存库(主机目录:容器目录)参考文件访问 http://localhost:10080 设定 Gitea
原则上若没指定资料库则使用预设 SQLite重点!在基础 url 填写外部呼叫的 url 如:http://yourIp:yourPort
若使用预设则在 push 档案时 gitea 页面会显示 http://localhost:容器端口可至 /var/lib/gitea/gitea/conf/app.ini
进行重设备份 Git 储存库
安装 sshpass: sudo apt-get -y install sshpass
-y
:对所有询问都给予肯定,同时不做任何提示在 Ubuntu Server 21.10
安装时已包含 tar、rsync、crontab
故无须再重新安装压缩 Git 储存库: sudo tar zcvf /var/lib/gitea/gitea.tar.gz /var/lib/gitea
解压缩: sudo tar zxvf /var/lib/gitea/gitea.tar.gz
备份至远端: sshpass -p 'remote_password' \ rsync -azvh /var/lib/gitea/gitea.tar.gz \ user@remoteIp:path
rsync 介绍删除压缩档: sudo rm -rf /var/lib/gitea/gitea.tar.gz
另外可使用 crontab
进行排程任务备份crontab 介绍Firefox 端口阻挡解决方法
网址列输入:about:config搜寻:network.security.ports.banned.override点选string
并加入 port
刷新页面即可