Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

无法在 Gitee 侧自动创建仓库 #85

Open
Ir1d opened this issue Jan 24, 2021 · 13 comments
Open

无法在 Gitee 侧自动创建仓库 #85

Ir1d opened this issue Jan 24, 2021 · 13 comments
Labels
doc Improvements or additions to documentation

Comments

@Ir1d
Copy link

Ir1d commented Jan 24, 2021

翻了下似乎问题是在 https://github.com/Yikun/hub-mirror-action/blob/master/entrypoint.sh#L164 这里,
那边 api 说 https://gitee.com/api/v5/swagger#/postV5OrgsOrgRepos 需要有个 org 字段,但我还没搞清楚要怎么填

@yi-Xu-0100
Copy link
Contributor

@Ir1d 是否指定 count_type?

account_type: org

@Ir1d
Copy link
Author

Ir1d commented Jan 24, 2021

@yi-Xu-0100
Copy link
Contributor

yi-Xu-0100 commented Jan 24, 2021

@Ir1d 在 debug 中看出确实与现在的参数部分相比,缺失 org 关键词,它创建 repo 的回复日志没有打印出来,可能得等作者修复这个错误,或者自行 fork 修复后,使用个人修正版先用着。

@Ir1d
Copy link
Author

Ir1d commented Jan 24, 2021

@yi-Xu-0100 感谢,求问你知道这个 org 需要填啥吗(

@yi-Xu-0100
Copy link
Contributor

@Ir1d 额,我重新确认了下, 这里的 org 其实就是对应的组织名,也就是它这里的处理方式是对的😥。但是由于没有回复日志我没法确定该请求是如何被回应的,猜测是不是 access_token 错误了?需要用到组织的 token,建议排查一下

你可以自行将相关的字段填入到你发的 api 说明的链接中,下方有测试,可以试试能否成功创建仓库和相应的回复是什么。
看的出来作者仅填写了 access_token 和 name,并将 org 字段替换为组织名,符合 api 的规则。可能出错的,只能是 access_token 问题造成未创建仓库了。

@yi-Xu-0100
Copy link
Contributor

yi-Xu-0100 commented Jan 28, 2021

@Ir1d 我测试了组织仓库同步。https://github.com/yi-Xu-0100/hub-mirror/actions?query=workflow%3Async2gitee%28list%29-org

我甚至能够完成对 OI-wiki 的部分仓库同步,但是似乎 gitee 的推送太慢,我就取消了(这里可以试试 ssh 是否会加快,或者尝试 cache 方式同步,第二次就会快了)。但是已经有一些是支持的,说明整个过程是没有问题的。我能猜测到的问题是 access_token 的问题,该 token 只会用于创建新仓库。

对于 gitee api 页面的测试也是可以尝试的,我直接在那个页面测试的结果也是可以直接创建的。 org 对应的就是组织名称。

access_token 是组织管理员的生成的 token ,我不太确定是否有时效说法,或者尝试重新创建并添加到 secret 中。

@Yikun
Copy link
Owner

Yikun commented Jan 28, 2021

@Ir1d 抱歉最近比较忙,没及时回复。大致看了下你的配置是没问题的。

大概率是token权限不足,导致的创建目的端(gitee侧)仓库失败。

@Ir1d
Copy link
Author

Ir1d commented Jan 28, 2021

谢谢二位相助,我研究一下, token 所用账户是 org 的创建者,所以之前没往这方面想,我检查一下

@yi-Xu-0100
Copy link
Contributor

yi-Xu-0100 commented Jan 29, 2021

@Ir1d

在昨晚的自动推送中,能够完成同步,但是有一个空的仓库,gitment,注意添加到黑名单中。

有时会触发长时操作,我不太懂为啥(昨天晚上的被取消的手动同步,中间卡了1小时左右),但是有时又还好。全部同步加上部分仓库创建,总共15-16分钟(昨晚的定时同步)。如果配置上 cache 可能会更快的。

我看到你的同步方式是推送触发同步,但是你们的这个推送很多,如果是全部仓库同步的话,还是建议仅保留定时和手动模式,避免多数的仓库参与这个过程。

昨晚的手动同步:https://github.com/yi-Xu-0100/hub-mirror/runs/1783758871 1h 34m 12s 取消了后续
昨晚的定时同步:https://github.com/yi-Xu-0100/hub-mirror/runs/1786236025 16m 26s
今天的手动同步(cache 后,clone 方式为 https,设置了空仓库为黑名单,同步成功 ):https://github.com/yi-Xu-0100/hub-mirror/runs/1791642193 1h 3m 23s (此处有2次 git push 超时问题,第一次:Fri, 29 Jan 2021 12:56:45 GMT---Fri, 29 Jan 2021 13:26:46 GMT ,第二次:Fri, 29 Jan 2021 13:27:59 GMT---Fri, 29 Jan 2021 13:57:59 GMT,去除超时的 1h,在 cache 的情况下为 3m 23s )

默认的 timemout 为 30min,可以设置。

@Yikun
Copy link
Owner

Yikun commented Jan 31, 2021

这个其实问题发生,其实反映了一些问题,对token、秘钥的配置,在doc还是说明的不是很好,需要改进下文档。

另外,为了让此类问题能够快速闭环和避免,是否有必要搞个微信群,让有疑问的同学快速交流一下?

以便像 @yi-Xu-0100 这种专业又热心的资深用户&贡献者,可以帮助下新同学?

@Yikun
Copy link
Owner

Yikun commented Feb 10, 2021

https://github.com/marketplace/actions/gitee-pages-action

看到一个写的不错的文档

@Yikun Yikun added the doc Improvements or additions to documentation label Mar 9, 2021
@xiaofeng-wh
Copy link

在同步org下的代码仓库时,同步失败,查看日志,发现GITEE_TOKEN获取不到

经排查同步成功后,将情况在此分享:

如果同步脚本(.github/workflows/xxx.yaml)所在仓库(假设是sync-to-gitee)是私有的,
这种情况下,需要去sync-to-gitee仓库-->setting-->secrets下设置GITEE_TOKEN,因为在org-->settings-->secrets下配置的只能用于公共仓库。

同理:GITEE_PRIVATE_KEY应该也是一样。

@Yikun
Copy link
Owner

Yikun commented Aug 23, 2021

@xiecf-wh 感谢分享,这个是github secrets的权限管理机制,详情可以看[1]。

因为在org-->settings-->secrets下配置的只能用于公共仓库。

这个不完全正确,组织管理员可设置org secrets对具体仓库的可见性[2]。

需要去sync-to-gitee仓库-->setting-->secrets下设置GITEE_TOKEN

这个是比较推荐的形式,action在哪用,就在哪个repo设置secrets。

[1] https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-an-organization
[2] https://docs.github.com/en/actions/reference/encrypted-secrets#reviewing-access-to-organization-level-secrets

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants