cloud-security-wiki/docs/ci-cd/gitea/README.md

123 lines
4.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 关于Gitea
Gitea 是一个自己托管的Git服务程序。他和GitHub, Bitbucket or Gitlab等比较类似。他是从 [Gogs](http://gogs.io/) 发展而来Gitea 是一个开源社区驱动的轻量级代码托管解决方案,采用 MIT 许可证。极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构除了x86amd64还包括 ARM 和 PowerPC。
## 系统要求
- 最低的系统硬件要求为一个廉价的树莓派
- 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存
## [功能特性](https://docs.gitea.io/zh-cn/#%E5%8A%9F%E8%83%BD%E7%89%B9%E6%80%A7)
- 支持活动时间线
- 支持 SSH 以及 HTTP/HTTPS 协议
- 支持 SMTP、LDAP 和反向代理的用户认证
- 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别 Web 钩子(包括 Slack 集成)
- 支持仓库 Git 钩子和部署密钥
- 支持仓库工单Issue、合并请求Pull Request以及 Wiki
- 支持迁移和镜像仓库以及它的 Wiki
- 支持在线编辑仓库文件和 Wiki
- 支持自定义源的 Gravatar 和 Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库
- 支持多语言本地化21 种语言)
- 支持软件包注册中心Composer/Conan/Container/Generic/Helm/Maven/NPM/Nuget/PyPI/RubyGems
## 安装
### 安装环境依赖
gitea 依赖于docker和docker-compose
#### 安装docker
安装所需的安装包yum-utils
```sh
yum install -y yum-utils
```
添加yum源
```sh
yum -y update
#设置镜像仓库地址
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新yum软件包索引
yum makecache fase
```
查看可用版本
```sh
yum list docker-ce --showduplicates | sort -r
```
安装docker社区版和社区办对应的cli工具已经依赖
```sh
yum install -y docker-ce docker-ce-cli containerd.io
```
启动 Docker 并设置开机自启
```sh
systemctl start docker
systemctl enable docker
```
添加镜像源地址
```
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF
```
重新启动 Docker 服务
```
systemctl daemon-reload && sudo systemctl restart docker
```
验证配置是否生效
```
docker info | grep Mirrors -A1
```
#### 安装docker-compose
安装epel源
```
yum install -y epel-release
```
安装docker-compose
```
yum install -y docker-compose
```
### 安装gitea
安装参考链接:[使用 Docker 安装 - Docs](https://docs.gitea.io/zh-cn/install-with-docker/ "使用 Docker 安装 - Docs")
最简单的设置只是创建一个卷和一个网络,然后将 `gitea/gitea:latest` 镜像作为服务启动。由于没有可用的数据库,因此可以使用 SQLite3 初始化数据库。创建一个类似 `gitea` 的目录,并将以下内容粘贴到名为 `docker-compose.yml` 的文件中。
```
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.16.7
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea
volumes:
- /home/data:/data # /home/data可以替换成你想要的挂载目录
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3030:3000" # 3030可以替换成你想要的端口
- "322:22" # 322可以替换成22
```
在后台启动
```
docker-compose up -d
```
### 配置gitea
访问:[http://server-ip:3030](http://server-ip:3030/ "http://server-ip:3030")
设置域名访问地址等信息
![Snipaste_2022-08-07_13-45-57.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9d7fd177f43c4dd7b4841a4621755b72~tplv-k3u1fbpfcp-zoom-1.image)
设置管理员账号密码
![Snipaste_2022-08-07_13-49-05.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e3ef5d88604c4eec8e890cc316f2307d~tplv-k3u1fbpfcp-zoom-1.image)
点击安装后,系统安装完毕会自动登录