docker 安装gitea
教程
安装完成后就进入了类似这样的界面,先注册再登录。
登录后进入首页,包括了对gitea服务的设置和仓库的管理。
创建仓库后进入仓库如下和gitee,github是相似的,UI十分简洁实用。
构建仓库后就和使用gitee和github方式一样了,通过git命令git clone
,git pull
拉取代码和上传代码。
首先需要再本地构建git仓库,并配置仓库,这和初始化gitee仓库是一模一样的。
git iit
初始化
这一步仍然是需要输入密码的,输入注册的gitea的账户和密码。到此git仓库就构建完成了已经可以实现基本的git仓库管理和版本迭代了。
伤处操作都是可视化操作,需要人为点击,如创建仓库,删除仓库等。在自动化实现时是需要通过代码实现的。
gitea也提供了API是基于http服务的,用于自动化实现仓库和账户管理。
gitea-api
按照接口的规范请求gitea地址就可以实现对gitea仓库的管理。那么在实际使用时只需要对相应的api访问请求就可以自动创建仓库,自动删除仓库实现自动化。
在Get a repository获取指定仓库的请求中,明确的介绍了请求需要的参数以及请求成功后返回的数据。
进入服务器搭建的gitea服务,划到最底部,如下图,点击api
将进入用户自己构建的gitea的api,这些api用swagger展示出来,可以很方便的查找需要指定的api接口。
例如之前的get a repository接口显然在repository路径下
那么在使用api构建一个仓库
请求参数的具体意义请参考官网。填写参数后发送请求,却并未构建成功,出现了"message": "token is required"
的字样。
出现该信息的原因是对仓库的修改或者新建等重要信息需要授权,这是必须的,不然任何人都可以对仓库修改岂不乱套了。
gitea提供了三中授权方式,如下
提供了4中认证方式,最常用的一种是第4种,在请求头中加入如下配置
Authorization: token 65eaa9c8ef52460d22a93307fe0aee76289dc675
token的值该如何获取呢?
进入gitea登录后的首页,点击用户头像
就会得到一串token,请求将该token携带后就可以对api访问了。
验证:
调用删除仓库接口
返回token is required
,生成token配置到请求头上
查看api,删除的请求只有两个path参数,一个是仓库拥有者一个是仓库名。
需要注意的该接口为
delete
方法,注意405错误,另外该接口为空返回,返回状态码为204,不是200,也就是返回为204表示请求成功了。
注意token的写法
Authorization: token 65eaa9c8ef52460d22a93307fe0aee762875
Authorization
是key,65eaa9c8ef52460d22a93307fe0aee762875
是值,且值前面必须加token和一个空格
同理gitea的其他接口也是需要token的,那么要实现自动化所有账户都要一个token,那么对不同求的api重写得到一个token是不合理的(每个请求换一个token值)。gitea在创建之处就有一个root
用户,使用该用户创建的api可以所有账户的仓库操作,因为账户是唯一的,所有不存在重复的情况。
在自动化构建的过程中普通账户用户对仓库的管理,root用户用于对账户的管理。
其他API只要携带了token按照官网提供的api规范就可以访问,请自行参考官方文档。
gitea
docs-gitea
api-gitea
Gitea的管理员账户具有对所有普通Gitea账户的管理权限。作为管理员,可以执行以下操作:
- 创建、编辑和删除普通Gitea账户。
- 管理用户权限,包括访问仓库、创建组织、管理团队等。
- 修改用户个人设置和配置。
- 查看和管理用户的活动记录和日志。
- 监控和管理服务器的整体状态和性能。
- 管理员账户还可以执行其他高级操作,如备份和恢复数据、配置全局设置等。
Gitea管理员的API令牌可以访问普通用户的API。作为管理员,您可以使用管理员API令牌来执行以下操作:
- 获取和管理所有用户的信息,包括用户名、电子邮件、组织等。
- 获取和管理所有仓库的信息,包括创建、编辑、删除仓库等。
- 管理用户的权限,包括添加、删除和修改用户的访问权限。
- 查看和管理用户的活动记录和日志。
- 执行其他高级操作,如备份和恢复数据、配置全局设置等。
请注意,管理员账户具有最高权限,因此请谨慎使用这些权限,并仅授予可信用户管理员权限。