标签: gitea

如何在 Nginx 中重定向 ssh 请求?

我在 docker 环境中使用 gitea 版本控制系统。使用的gitea是无根类型的镜像。

\n

http 端口映射为 \xe2\x80\x9c8084:3000\xe2\x80\x9d,ssh 端口映射为 \xe2\x80\x9c2224:2222\xe2\x80\x9d。

\n

我在 Linux 主机上生成了密钥,并将生成的公钥添加到了我的 Gitea 帐户中。

\n

1.测试环境

\n

后来我创建了 ssh 配置文件nano /home/campos/.ssh/config

\n
Host localhost\n  HostName localhost\n  User git\n  Port 2224\n  IdentityFile ~/.ssh/id_rsa\n
Run Code Online (Sandbox Code Playgroud)\n

完成设置后,我创建了 myRepo 存储库并克隆了它。

\n

为了执行克隆,我将 url 从 更改ssh://git@localhost:2224/campos/myRepo.gitgit@localhost:/campos/myRepo.git

\n

要克隆存储库,我输入:git clone git@localhost:/campos/myRepo.git

\n

这很完美!

\n

2.生产环境

\n

但是,在定义反向代理和域名时,无法克隆存储库。

\n

在执行克隆之前,我更改了ssh配置文件:

\n
Host gitea.domain.com\n  HostName gitea.domain.com\n  User git\n  Port 2224\n  IdentityFile ~/.ssh/id_rsa\n
Run Code Online (Sandbox Code Playgroud)\n

然后我再次尝试克隆存储库:

\n

git clone git@gitea.domain.com:/campos/myRepo.git

\n …

nginx nginx-reverse-proxy gitea

5
推荐指数
1
解决办法
1万
查看次数

go-git:如何在远程服务器上进行身份验证?

我使用 go 项目go-git作为 git 客户端,并希望从通过gitea托管的私有 git 存储库中获取数据。

执行此操作的适当函数是func (r *Remote) Fetch(o *FetchOptions) error,它需要一个transport.AuthMethod对象进行身份验证。

我尝试了以下方法:

repo, _ := git.PlainOpen("/path/to/project/folder")
err := repo.Fetch(&git.FetchOptions{
    Auth: http.NewBasicAuth("someUser", "andThePassword"),
})
Run Code Online (Sandbox Code Playgroud)

...它只是返回:

无效的身份验证方法

如果我使用也会发生同样的情况

authenticator, _ := ssh.NewSSHAgentAuth("git")
Run Code Online (Sandbox Code Playgroud)

从包装中"gopkg.in/src-d/go-git.v4/plumbing/transport/ssh"

另外,如果我使用证书:

authenticator, _:= ssh.NewPublicKeysFromFile("gitea name", "/home/name/.ssh/id_rsa", "passphrase")
Run Code Online (Sandbox Code Playgroud)

如何找出支持哪种身份验证方法,以及是否有transport.AuthMethod我可以使用的现有实现?

git authentication go gitea go-git

4
推荐指数
1
解决办法
9067
查看次数

gitea和jenkins webhook

我正在测试Gitea,并希望它能触发Jenkins构建,非常基本的用例.我知道现有的GOG可以使用webhook插件,但最近还发现Jenkins也有一个Gitea插件.

在GOGS案例中,您可以通过以下方式致电Jenkins: http:// localhost:8080/gogs-webhook /?job = job_name

在上面的示例中,显然根据需要更新Jenkins位置和作业名称.

问题是没有Gitea插件的文档,但根据源代码,URL应该是:

HTTP://詹金斯-URL/gitea-网络挂接/后

我认为应该发生的顺序如下:

  1. Gitea看到推送活动并将信息发布到Jenkins webhook
  2. Jenkins Gitea webhook看到POST并使用该信息从Gitea获取新的源代码.

问题是gitea插件如何知道要执行哪个工作?你怎么指定这个?现在我可以看到gitea正在上面的URL向Jenkins发送POST,但没有发生任何事情,Jenkins日志也没有任何信息可以理解它失败的原因.

编辑:

我遇到了一个问题,在将生成的公共SSH密钥复制到Gitea用户帐户后,Jenkins仍然无法访问存储库以使用管道编辑器.不知道我在这里缺少什么,因为我能够从localhost(在Docker环境之外)完美地推/拉并检查容器确实可以完美地看到对方....

谢谢

jenkins jenkins-plugins jenkins-blueocean gitea

4
推荐指数
2
解决办法
9173
查看次数

将 Gitlab 或 Github 存储库镜像到自托管 Gitea 服务器

大家好。

我正在尝试为我为客户分叉的各种开源项目完整地镜像 Git 存储库,以便进行自定义。

这些是我正在遵循的步骤:

$ git clone --mirror https://github.com/pathto/project.git
$ cd project.git
$ git remote set-url --push origin git@git.localserver.net:pathto/project
$ git push --mirror
Run Code Online (Sandbox Code Playgroud)

最后一步我得到了![远程拒绝]一切。(预接收挂钩被拒绝)

我已经在 Gitea 上设置了存储库,并且安装了 SSH 密钥。所有内容都会上传,但上传完成后,所有内容都会出现错误。

我的最后一步是建立一个每日 cron,从 github/gitlab 获取数据,然后推送到本地服务器。

git github gitlab gitea

4
推荐指数
1
解决办法
1321
查看次数

gitea - 创建存储库 API

尝试通过 API 创建存储库。使用 swagger 执行模式:

\n\n
curl -X POST "https://URL/git/api/v1/user/repos?access_token=XXXXX" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \\"auto_init\\": true, \\"description\\": \\"blablabla\\", \\"gitignores\\": \\"string\\", \\"issue_labels\\": \\"string\\", \\"license\\": \\"string\\", \\"name\\": \\"blablabla\\", \\"private\\": true, \\"readme\\": \\"string\\"}"\n
Run Code Online (Sandbox Code Playgroud)\n\n

产生 500 错误,抱怨自述文件。

\n\n
{"message":"initRepository: prepareRepoCommit: getRepoInitFile[string]: open /readme/string: file does not exist","url":"URLr"}\n
Run Code Online (Sandbox Code Playgroud)\n\n

猜测是因为这个参数:

\n\n
\n

“自述文件\\”:\\“字符串\\”

\n
\n\n

我不知道 xe2x80x99 的建议值是什么,但在 swagger 文档中它是 xe2x80x99。
\n有什么想法吗?

\n

gitea

3
推荐指数
1
解决办法
1861
查看次数

Gitea Git-LFS 推送大文件时出现 HTTP 413 错误

免责声明:我对 Linux/Ubuntu 整体和系统管理都很陌生,也只是在空闲时间涉足它,所以请耐心、彻底地回答你的问题。

我使用 git-lfs 在 Ubuntu 20.04 服务器上安装了 Gitea。我让 Apache 运行反向代理来将我的子域与 gitea 一起使用。我还使用 certbot 将其配置为 SSH。

每次我尝试推送大文件 (~>1Gb) 时,都会收到来自 HTTP 413 的 LFS: Client 错误。

到目前为止我尝试过的:

  • 禁用UFW
  • 增加 gitea 配置中所有相关文件和文件大小选项

这是我的 app.ini:

APP_NAME = Tali Git
RUN_USER = git
RUN_MODE = prod

[security]
INTERNAL_TOKEN     = XXXXX
INSTALL_LOCK       = true
SECRET_KEY         = XXXXXXX
PASSWORD_HASH_ALGO = pbkdf2

[database]
DB_TYPE  = sqlite3
HOST     = 127.0.0.1:3306
NAME     = gitea
USER     = gitea
PASSWD   = 
SCHEMA   = 
SSL_MODE = disable
CHARSET  = utf8
PATH …
Run Code Online (Sandbox Code Playgroud)

apache git-lfs gitea

2
推荐指数
1
解决办法
5384
查看次数