小编Ste*_*man的帖子

如何使用GitHub V3 API来获取repo的提交次数?

我正在尝试使用API 计算许多大型github存储库的提交,所以我想避免获取整个提交列表(这种方式作为示例:api.github.com/repos/jasonrudolph/keyboard/commits)和计数他们.

如果我有第一个(初始)提交的哈希值,我可以使用这种技术将第一个提交与最新提交进行比较,并愉快地报告两者之间的total_commits(所以我需要添加一个).不幸的是,我看不出如何使用API​​优雅地获得第一次提交.

基本的repo URL确实给了我created_at(这个url是一个例子:api.github.com/repos/jasonrudolph/keyboard),所以我可以通过限制提交到创建日期来获得减少的提交集(这个url是一个例子:api.github.com/repos/jasonrudolph/keyboard/commits?until=2013-03-30T16:01:43Z)并使用最早的一个(总是列在最后?)或者可能是空父母的一个(不确定分叉项目是否有初始父提交).

获得repo的第一个提交哈希的更好方法是什么?

更好的是,对于一个简单的统计来说,整个事情似乎很复杂,我想知道我是否遗漏了一些东西.使用API​​获取repo提交计数的任何更好的想法?

编辑:这个有点类似的问题是试图过滤某些文件("并在其中的特定文件."),所以有一个不同的答案.

git github github-api

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

kubernetes部署能否将服务节点端口注入为环境变量?

在服务yaml文件中,您可以使用jsonpath选择命名的nodeport值,如下所示:

    - name: MY_NODE_PORT
      valueFrom:
        fieldRef:
          fieldPath: spec.ports[?(@.name=="http")].nodePort
Run Code Online (Sandbox Code Playgroud)

但是,在我的部署yaml文件中,我希望有一个MY_NODE_PORT如上所述的环境变量,该变量暴露给容器到Pod。我碰巧将我的服务和部署组合到一个文件中,以便于执行kubectl create -f。是否可以在“部署”部分而不是“服务”部分中选择命名的服务节点端口?

我的目的是注册Kubernetes服务并将其部署到旧版服务发现机制,在本例中为Netflix OSS Eureka。

kubernetes netflix-eureka

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

查找当前主模块的伪版本

我有一个 Go codegen 工具,在将其构建为二进制文件时,我想使用 Go 工具在构建时为其主模块注入它自己的当前伪版本。

我知道对于依赖项,我可以使用go list -m all或找到它们的伪版本go list -m -f '{{ .Version }}' $MODULE。主模块的版本列为空。

我知道我可以用以下方法计算当前的伪版本:

git describe --tags `git rev-list --tags --max-count=1`
Run Code Online (Sandbox Code Playgroud)

和:

TZ=UTC git --no-pager show \
   --quiet \
   --abbrev=12 \
   --date='format-local:%Y%m%d%H%M%S' \
   --format="%cd-%h"
Run Code Online (Sandbox Code Playgroud)

要获得合理的近似值,例如:v0.3.0-20210907161133-495c072cb418

获得伪版本后,我打算在构建时注入它,如下所示:

go build -ldflags="-X generate.version v0.3.0-20210907161133-495c072cb418" -o mytool ./main.go
Run Code Online (Sandbox Code Playgroud)

然而,建议直接使用 Go 工具来获取当前的伪版本,而不是我在餐巾纸上制定的一些 hacky bash 东西。关于如何执行此操作有什么建议吗?

go go-modules

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

标签 统计

git ×1

github ×1

github-api ×1

go ×1

go-modules ×1

kubernetes ×1

netflix-eureka ×1