gitea搭建教程
gitea和gitlab对比
Gitea 功能比较简单,需求如果只是单纯存存代码,只做 CI/CD 是足够的,很多附加功能处于缺失状态,需要大量依赖第三方工具。
Gitlab 需要的机器最低配置比较高,对应的,功能也多了很多,如果需要代码 Review 、重度使用 issue 功能、使用 Gitlab 管理项目就比较合适。因为此次主要是做CI/CD,所以简单写一篇关于docker-compose搭建gitea的教程
文章目录
一、docker-compose
安装
1、下载
# 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-compose
2、添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
3、查看版本
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 down
3、相关问题
#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:3000
2、修改配置
# 将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、安装git
yum install -y git
2、克隆项目
git clone http://192.168.3.91:3000/gitea/simple-java-maven-app.git
3、如何使用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.pub
4、将密钥添加到gitea
5、ssh方式拉去项目
git clone ssh://git@192.168.3.91:222/gitea/simple-java-maven-app.git
# 此时可以不用输入密码啦