准备
- 一个域名(如果你不打算公开你的gitea实例则不需要)
- 一个装有Ubuntu系统的服务器
- 本文所有使用到域名的地方均为repo.rtast.cn
- 本文使用的Gitea版本是1.22.x
安装Gitea
首先到 Github Release下载你的机器架构的gz包解压后放到一个文件夹内, 然后赋予可执行权限,使用
chmod +x gitea
来赋予权限。
配置Gitea
由于gitea无法使用root用户运行所以添加一个用户使用以下命令添加用户, 一个名为git的用户
adduser git
添加完成后以后不要使用这个用户进行ssh登录(因为你登陆不上, gitea的限制), 最好将gitea的可执行文件放到/home/git/路径下并且确保git用户对这个文件夹有读写权限。现在开始在网页上安装Gitea, 浏览器打开: <you server host>:3000 例如http://localhost:3000然后选择你需要的数据库类型,我使用了sqlite。安装完成之后会在custom/conf/生成一个app.ini文件打开这个文件看到 “[server]”块
[server]
SSH_DOMAIN = rtast.cn
DOMAIN = repo.rtast.cn
HTTP_PORT = 3000
ROOT_URL = https://repo.rtast.cn/
APP_DATA_PATH = /home/git/gitea/data
DISABLE_SSH = true
LFS_START_SERVER = true
LFS_JWT_SECRET = 23jSgGl0fuPngMwZWRVWZRdyNCtNtZITiJTg8ILtofU
OFFLINE_MODE = false
这是我的server块, 因为我用不到SSH所以将DISABLE_SSH关掉了。DOMAIN是逻辑上的地址,并不会真正的影响gitea的使用(这个地址用来显示git pull的地址和其他的操作),HTTP_PORT设置为默认的3000(因为需要使用到nginx反代gitea)。
配置Nginx反向代理
以下是我的nginx server块配置
server {
listen 3001 ssl;
server_name repo.rtast.cn;
ssl_certificate /etc/letsencrypt/live/rtast.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/rtast.cn/privkey.pem;
location / {
client_max_body_size 512M;
proxy_pass http://localhost:3000;
proxy_set_header Connection $http_connection;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
}
}
server {
listen 3002;
server_name repo.rtast.cn;
location / {
return 301 https://$host$request_uri;
}
}
我反向代理了3001和3002因为我使用frp将这两个端口暴露在公网,3001是带ssl的3002会跳转到带ssl的域名,你需要替换你的域名和你的证书位置。
配置Gitea Action
你需要额外下载一个软件点这里下载软件, 你还需要安装docker使用以下命令安装docker
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
# 启动docker
sudo systemctl start docker
安装完成之后使用
sudo docker info
来验证安装。 如果你需要配置docker镜像使用以下命令
sudo vim /etc/docker/daemon.json
在文件末尾添加以下内容
{
"registry-mirrors": ["you mirror url here"]
}
将你的镜像地址填入。使用以下命令来重启docker使其读取配置文件
sudo systemctl restart docker
然后开始配置act_runner 下载好二进制文件并且赋予可执行权限, 先进入你的gitea实例按照以下步骤点击
进去后点击 Create new runner 然后会显示一个token复制这个token进到ssh使用以下命令注册
sudo ./act_runner register
输入你的gitea示例,注意这个地址必须是外部可以访问的地址不能是本地回环地址,然后输入token,回车之后输入名字这个随意,再次回车之后再次回车选择默认值。 然后打开刚才的gitea实例页面刷新一下你就能发现多了一个Runner但是显示的是Offline, 你需要使用以下命令来运行Act runner Daemon
sudo ./act_runner daemon
你可以用service来将其作为一个服务启动。 再次刷新就会发现状态变成了Idle 。当然你还需要在app.ini添加以下内容来启用action
[actions]
ENABLED = true
注意: 如果你的Workflows需要用到actions/upload-artifact这个插件来上传产物,请使用v3版本
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:xiaoman1221@yhdzz.cn,工作室将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有。