gitea部署
Gitea安装部署
假定是已经有了mysql数据库
没有安装mysql可以跳到最后先安装mysql
1. docker-compose部署
1 | mkdir /data/docker-compose/gitea |
docker-compose.yml配置
1 | version: "3" |
2 docker部署
1 | docker run -d -p 3000:3000 -p 222:22 --name gitea -v /home/git/gitea:/data -v /home/git/.ssh/:/data/git/.ssh -e TZ="Asia/Shanghai" -e USER_UID=1001 -e USER_GID=1001 -e DB_TYPE=mysql -e DB_HOST=zhouinfo.site:3306 -e DB_NAME=gitea -e DB_USER=root -e DB_PASSWD=passwd --restart=always gitea/gitea:1.17.1 |
端口映射
3000:3000
222:22
挂载
gitea数据/home/git/gitea:/data
ssh转发/home/git/.ssh/:/data/git/.ssh
-运行用户 git
需要创建git用户
可以看怎么创建git用户在Linux 搭建GIT服务
查看git的uid和gidvim /ect/paaswd
USER_UID=1001 -e USER_GID=1001
mysql配置
-e DB_TYPE=mysql -e DB_HOST=zhouinfo.site:3306 -e DB_NAME=gitea -e DB_USER=root -e DB_PASSWD=passwd
gitea版本
gitea/gitea:1.17.1
配置nginx
1 | server { |
配置ssh
1 | 在 /usr/local/bin/ 添加一个 gitea 可执行脚本内容如下 |
1 | 大致的流程是这样的,也就是说,SSH 直通的原理实际上也只是转发服务器本机的 ssh 请求到 Gitea 的容器中。大致的走向:用户访问 ssh -> 主机收到 ssh 请求 -> 主机验证 ssh key -> 验证成功后执行 command -> 将实际的 command 转发给容器。所以,实际上我们只要在 command 使用的脚本“做手脚”就可以了。Gitea v1.16.0+中,command 的默认命令脚本为 /usr/local/bin/gitea,而之前的版本则是 /app/gitea/gitea,我们创建对应版本的脚本到服务器本机上(至于为什么是本机,因为 ssh 会直接在本机上执行,而我们只是利用这个路径的脚本来转发命令而已),注意路径要一模一样。 |
webhook web钩子
1 | #用本地的路径clone 不需要账号密码 |
使用https://github.com/adnanh/webhook
go编译的钩子
可以使用json或者 yaml配置
vim hooks.yaml
1 | - id: update-blog-webhook |
vim update-blog.sh
1 |
|
设置可执行权限chmod 755 update-blog.sh
vim /etc/nginx/nginx.conf
1 | location /hooks { |
./webhook -hooks hooks.yaml -verbose > webhook.log 2>&1 &
gitea项目中创建web钩子 post master分支
这样调用url就会更新bloghttps://zhouinfo.site/hooks/update-blog-webhook
安装mysql
1 | mkdir /data/docker-compose/mysql |
docker-compose.yml配置
1 | version: '3' |
1 | docker run --name mysql -d -p 3306:3306 --restart=always -v /data/mysql/conf:/etc/mysql/conf.d -v /etc/my.cnf:/etc/my.cnf -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=设定root密码 mysql:8 |
本文作者 : zhouinfo
原文链接 : http://blog.zhouinfo.site/2022/07/08/gitea%E9%83%A8%E7%BD%B2/
版权声明 : 本博客所有文章除特别声明外,均采用 CC Apache License 2.0 许可协议。转载请注明出处!