文章目录gitea和gitlab对比
Gitea 功能比较简单,需求如果只是单纯存存代码,只做 CI/CD 是足够的,很多附加功能处于缺失状态,需要大量依赖第三方工具。
Gitlab 需要的机器最低配置比较高,对应的,功能也多了很多,如果需要代码 Review 、重度使用 issue 功能、使用 Gitlab 管理项目就比较合适。因为此次主要是做CI/CD,所以简单写一篇关于docker-compose搭建gitea的教程
- gitea搭建教程
- 一、`docker-compose`安装
- 1、下载
- 2、添加可执行权限
- 3、查看版本
- 二、启动`gitea`和`mysql`容器
- 1、创建`docker-compose.yaml`
- 2、启动、重启、停止容器
- 3、相关问题
- 三、配置 `gitea`
- 1、访问gitea
- 2、修改配置
- 3、添加管理员账户
- 4、点击 `install`
- 5、切换中文界面
- 6、创建一个仓库,同github一样的操作
- 四、拉取项目
- 1、安装git
- 2、克隆项目
- 3、如何使用ssh地址克隆
- 4、将密钥添加到gitea
- 5、ssh方式拉去项目
# github下载 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # daocloud下载(推荐) sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose2、添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose3、查看版本
docker-compose --version二、启动gitea和mysql容器 1、创建docker-compose.yaml
version: "3"
# 创建mysql和gitea专用网络
networks:
gitea:
external: false
services:
server:
# 指定gitea镜像及版本
image: gitea/gitea:latest
# 指定容器别名
container_name: gitea
# 配置容器环境
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
# 开机自启
restart: always
# 指定容器使用的网络
networks:
- gitea
# 配置挂载卷
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
# 配置端口映射
ports:
- "3000:3000"
- "22:22"
# 指定依赖(先安装依赖)
depends_on:
- db
db:
image: mysql:8.0
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
2、启动、重启、停止容器
# 启动 docker-compose up -d # 重启 docker-compose restart # 关闭(仅停止容器,保留容器卷) docker-compose down3、相关问题
#ERROR: for gitea Cannot start service server: driver failed programming external connectivity on endpoint gitea (325053aaf3abbd8df776e549c544799383ec6590149cffadbb301c9ed9f1a7be): Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use
#ERROR: Encountered errors while bringing up the project
# 原因是22端口占用
$ vi docker-compose.yaml
# 修改 22 -> 222
ports:
- "3000:3000"
- "222:222"
# 同步修改gitea配置文件
vi data/gitea/conf/app.ini
SSH_PORT = 222
SSH_LISTEN_PORT = 222
$ docker-compose restart
三、配置 gitea
1、访问gitea
http://your-server-ip:30002、修改配置
# 将ip地址替换为服务器访问地址 SSH Server Domain: `your-server-ip` Gitea Base URL:` http://your-server-ip:3000`3、添加管理员账户
# 展开Administrator Account Settings # 新增账户4、点击 install 5、切换中文界面
language -> update profile
6、创建一个仓库,同github一样的操作 四、拉取项目 1、安装gityum install -y git2、克隆项目
git clone http://192.168.3.91:3000/gitea/simple-java-maven-app.git3、如何使用ssh地址克隆
# 创建git用户 useradd git passwd git New password: ***** Retype new password: ***** # 切换用户 su git # 生成ssh密钥 ssh-keygen -t rsa -C "git@git.com" # 连续回车 # 查看密钥文件 cat ~/.ssh/id_rsa.pub4、将密钥添加到gitea 5、ssh方式拉去项目
git clone ssh://git@192.168.3.91:222/gitea/simple-java-maven-app.git # 此时可以不用输入密码啦



