Go to file
徐晓伟 ff208d7aec 📝 打包时增加 git 树状态:clean、dirty 2023-11-22 09:20:51 +08:00
.github/workflows 👷 CGO_ENABLED: 0 2023-11-16 15:03:59 +08:00
.gitlab 👷 add dependabot.yml 2023-10-05 05:30:31 +08:00
access_requests 🎨 改进代码的结构/格式 2023-10-17 19:35:26 +08:00
boards 🎨 改进代码的结构/格式 2023-10-17 19:35:26 +08:00
buildinfo ⬆️ github.com/xuxiaowei-com-cn/git-go 2023-11-22 09:19:40 +08:00
constant 删除(混合命令): 根据项目路径/ID、流水线IID范围删除产物(混合命令,立即删除) 2023-10-26 16:41:40 +08:00
container_registry 🎨 改进代码的结构/格式 2023-10-17 19:35:26 +08:00
docker 👷 build docker 2023-10-05 21:25:52 +08:00
flag 删除(混合命令): 根据项目路径/ID、流水线IID范围删除产物(混合命令,立即删除) 2023-10-26 16:41:40 +08:00
instance_level_ci_variables 🎨 改进代码的结构/格式 2023-10-17 19:35:26 +08:00
issues 议题 API: 删除议题(范围) 2023-10-18 11:36:44 +08:00
job_artifacts 删除(混合命令): 根据项目路径/ID、流水线IID范围删除产物(混合命令,立即删除) 2023-10-26 16:41:40 +08:00
jobs 🐛 作业 API: 列出项目作业: Token 必填 2023-10-18 08:45:16 +08:00
mix 📝 注释 2023-11-01 18:06:36 +08:00
pipelines 流水线 API: 列出项目流水线: 递归 2023-10-26 15:21:09 +08:00
projects 🎨 改进代码的结构/格式 2023-10-17 19:35:26 +08:00
static 📝 项目介绍 2023-10-05 04:36:40 +08:00
utils 删除(混合命令): 根据项目路径/ID、流水线IID范围删除产物(混合命令,立即删除) 2023-10-26 16:41:40 +08:00
.gitignore 🚧 打包产物携带版本相关信息 2023-10-02 04:06:40 +08:00
.gitlab-ci.yml 👷 expire_in: 3 day 2023-11-21 21:03:45 +08:00
CHANGELOG 🔊 add CHANGELOG 2023-10-05 05:57:43 +08:00
CONTRIBUTING.md 👥 Add CONTRIBUTING 2023-10-05 05:58:40 +08:00
LICENSE add LICENSE. 2023-10-04 20:29:14 +00:00
README.md 📝 打包时增加 git 树状态:clean、dirty 2023-11-22 09:20:51 +08:00
gitmoji.md 🎉 init 2023-10-01 21:40:53 +08:00
go.mod ⬆️ github.com/xuxiaowei-com-cn/git-go 2023-11-22 09:19:40 +08:00
go.sum ⬆️ github.com/xuxiaowei-com-cn/git-go 2023-11-22 09:19:40 +08:00
main.go 🐛 实例地址 2023-11-01 19:09:09 +08:00
main_test.go 添加 projects 测试 2023-10-04 22:29:47 +08:00
sync.yml 👷 add sync 2023-10-01 21:43:52 +08:00

README.md

gitlab-go

GitLab Go 脚手架

License-Anti Link-996 QQ群

基于 go 语言的 gitlab 脚手架

为简化开发工作、提高生产率、解决常见问题而生

开发命令

get

go env -w GOPROXY=https://goproxy.cn,direct
# go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/
go get -u github.com/urfave/cli/v2
go get -u github.com/xanzy/go-gitlab
go get -u github.com/xuxiaowei-com-cn/git-go@main
go get -u gopkg.in/yaml.v3

mod

go mod tidy
go mod download

run

go run main.go

run help

  • Windows 环境为 %xxx%
  • Linux 环境为 $xxx
go run main.go help
$ go run main.go --help
NAME:
   gitlab-go - 基于 Go 语言开发的 GitLab 命令行工具

USAGE:
   gitlab-go [global options] command [command options] [arguments...]

VERSION:
   dev

AUTHOR:
   徐晓伟 <xuxiaowei@xuxiaowei.com.cn>

COMMANDS:
   access-request, access-requests, ar                            群组和项目访问请求 API中文文档https://docs.gitlab.cn/jh/api/access_requests.html
   board, boards                                                  项目议题板 API中文文档https://docs.gitlab.cn/jh/api/boards.html
   container-registry, cr                                         容器仓库 API中文文档https://docs.gitlab.cn/jh/api/container_registry.html
   instance-level-ci-variable, instance-level-ci-variables, ilcv  实例级 CI/CD 变量 API中文文档https://docs.gitlab.cn/jh/api/instance_level_ci_variables.html
   issue, issues                                                  议题 API中文文档https://docs.gitlab.cn/jh/api/issues.html
   job-artifact, job-artifacts, ja                                作业产物 API中文文档https://docs.gitlab.cn/jh/api/job_artifacts.html
   job, jobs, j                                                   作业 API中文文档https://docs.gitlab.cn/jh/api/jobs.html
   pipeline, pipelines, pl                                        流水线 API中文文档https://docs.gitlab.cn/jh/api/pipelines.html
   project, projects, p                                           项目 API中文文档https://docs.gitlab.cn/jh/api/projects.html
   mix-delete, mix-rm                                             删除(混合命令,多接口命令)
   help, h                                                        Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

COPYRIGHT:
   徐晓伟工作室 <xuxiaowei@xuxiaowei.com.cn>
  • access-request - 群组和项目访问请求 API

    $ go run main.go access-request --help
    NAME:
       gitlab-go access-request - 群组和项目访问请求 API中文文档https://docs.gitlab.cn/jh/api/access_requests.html
    
    USAGE:
       gitlab-go access-request command [command options] [arguments...]
    
    COMMANDS:
       group, groups      为群组列出访问请求
       project, projects  为项目列出访问请求
       help, h            Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value  实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value     your_access_token
       --page value      页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value  每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json      打印 JSON (default: false)
       --print-time      打印时间 (default: false)
       --id value        项目 ID 或 URL 编码的路径
       --help, -h        show help
    
  • board - 项目议题板 API

    $ go run main.go board --help
    NAME:
       gitlab-go board - 项目议题板 API中文文档https://docs.gitlab.cn/jh/api/boards.html
    
    USAGE:
       gitlab-go board command [command options] [arguments...]
    
    COMMANDS:
       list     列出项目议题板
       help, h  Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value  实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value     your_access_token
       --page value      页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value  每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json      打印 JSON (default: false)
       --print-time      打印时间 (default: false)
       --id value        项目 ID 或 URL 编码的路径
       --help, -h        show help
    
  • container-registry - 容器仓库 API

    $ go run main.go container-registry --help
    NAME:
       gitlab-go container-registry - 容器仓库 API中文文档https://docs.gitlab.cn/jh/api/container_registry.html
    
    USAGE:
       gitlab-go container-registry command [command options] [arguments...]
    
    COMMANDS:
       list                列出仓库内存储库
       list-tags           列出仓库里存储库的标签
       get-tag             获取仓库里存储库的某个标签的详情
       delete-tag, rm-tag  删除仓库里存储库的某个标签
       help, h             Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value    实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value       your_access_token
       --page value        页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value    每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json        打印 JSON (default: false)
       --print-time        打印时间 (default: false)
       --id value          项目 ID 或 URL 编码的路径
       --repository value  仓库里存储库的 ID
       --tag-name value    标签的名称
       --help, -h          show help
    
  • instance-level-ci-variable - 实例级 CI/CD 变量 API

    $ go run main.go instance-level-ci-variable --help
    NAME:
       gitlab-go instance-level-ci-variable - 实例级 CI/CD 变量 API中文文档https://docs.gitlab.cn/jh/api/instance_level_ci_variables.html
    
    USAGE:
       gitlab-go instance-level-ci-variable command [command options] [arguments...]
    
    COMMANDS:
       list     列出所有实例变量
       help, h  Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value  实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value     your_access_token
       --page value      页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value  每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json      打印 JSON (default: false)
       --print-time      打印时间 (default: false)
       --help, -h        show help
    
  • issue - 议题 API

    $ go run main.go issue --help
    NAME:
       gitlab-go issue - 议题 API中文文档https://docs.gitlab.cn/jh/api/issues.html
    
    USAGE:
       gitlab-go issue command [command options] [arguments...]
    
    COMMANDS:
       list                    列出议题
       delete, rm              删除议题
       delete-range, rm-range  删除议题(范围)
       help, h                 Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value                                   实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value                                      your_access_token
       --page value                                       页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value                                   每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json                                       打印 JSON (default: false)
       --print-time                                       打印时间 (default: false)
       --recursion                                        递归 (default: false)
       --assignee-username value                          对于给定的用户名 username返回指派给这个用户的议题。与 assignee_id 相似且与其冲突。在免费版中assignee_username 数组只能包含单个成员,否则将报参数错误提示。
       --author-id value                                  对于给定的用户 id返回这个用户创建的议题。与 author_username 冲突。与 scope=all 或 scope=assigned_to_me 配合使用。
       --author-username value                            对于给定的用户名 username返回这个用户创建的议题。与 author_id 相似且与其冲突。
       --confidential                                     筛选私密议题与公开议题。 (default: false)
       --due-date value                                   返回没有截止日期、已经逾期、本周内逾期、本月内逾期或介于两周前和下个月之间逾期的议题。可接受的值0没有截止日期、any、today、tomorrow、overdue、week、month、next_month_and_previous_two_weeks。
       --iids value                                       返回包含给定 iid 的议题。
       --in value                                         修改 search 属性的范围。可以使用 title、description 或使用半角逗号对他们进行连接。默认值是 title,description。 (default: "title,description")
       --issue-type value                                 筛选议题的类型,可选值为 issue、incident 或 test_case。引入于 13.12 版本。
       --iteration-id value                               对于给定的迭代 ID返回与这个迭代关联的议题。使用 None 则返回未与迭代关联的议题。使用 Any 则返回存在关联迭代的议题。引入于 13.6 版本。
       --milestone value                                  里程碑名称。使用 None 则列出没有里程碑的议题。使用 Any 则列出存在关联里程碑的议题。None 及 Any 的用法将会在未来被弃用,请使用 milestone_id 替代。milestone 与 milestone_id 冲突。
       --milestone-id value                               对于给定的时间段None、Any、Upcoming 或 Started返回与该时间段里程碑相关联的议题。使用 None 则列出没有里程碑的议题。使用 Any 则列出存在关联里程碑的议题。使用 Upcoming 则列出与未开始里程碑相关联的议题。使用 Started 则列出与已开始里程碑相关联的议题。milestone 和 milestone_id 冲突。引入于 14.3 版本。
       --my-reaction-emoji value                          对于给定的 emoji返回用户使用该表情回应的议题。使用 None 则返回没有使用表情回应的议题。使用 Any 则返回使用至少一个表情回应的议题。
       --order-by value                                   返回根据 created_at、due_date、label_priority、milestone_due、popularity、priority、relative_position、title、updated_at 或 weight 排序的议题。默认值是 created_at。 (default: "created_at")
       --scope value                                      返回满足范围 created_by_me、assigned_to_me 或 all 的议题。默认值是 created_by_me。 (default: "created_by_me")
       --search value                                     根据 title 和 description 搜索议题。
       --sort value                                       按照 asc 或者 desc 排序 (default: "desc")
       --state value                                      返回全部 all 议题或仅返回处于 opened 或 closed 状态的议题。 (default: "all")
       --with-labels-details                              若为 true 则返回更详尽的标签信息::name、:color、:description、:description_html、:text_color。默认值是 false。description_html 属性引入于 12.7 版本。 (default: false)
       --created-after value                              对于给定的时间戳,返回不早于该时间创建的议题。时间戳应符合 ISO 8601 格式2019-03-15T08:00:00Z
       --created-before value                             对于给定的时间戳,返回不晚于该时间创建的议题。时间戳应符合 ISO 8601 格式2019-03-15T08:00:00Z。
       --issue-id value                                   项目议题的内部 ID
       --issue-id-range value [ --issue-id-range value ]  议题ID的范围支持范围如下
                                                          单数1
                                                          多个数字使用英文逗号隔开1,2,3,7,8,15
                                                          支持范围5-10,
                                                          支持范围方向选择:-10小于等于100 到 10214-大于等于214214214 + 10000数据范围不超过 10000
       --help, -h                                         show help
    
  • job-artifact - 作业产物 API

    $ go run main.go job-artifact --help
    NAME:
       gitlab-go job-artifact - 作业产物 API中文文档https://docs.gitlab.cn/jh/api/job_artifacts.html
    
    USAGE:
       gitlab-go job-artifact command [command options] [arguments...]
    
    COMMANDS:
       get                                    获取(下载)作业产物
       download, dl                           下载产物归档文件(未完成)
       delete, rm                             删除作业产物
       delete-project, delete-projects, rm-p  删除项目产物(计划删除,如需立即删除请使用混合命令)
       help, h                                Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value        实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value           your_access_token
       --id value              项目 ID 或 URL 编码的路径
       --job-id value          作业 ID
       --artifacts-name value  保存产物名称(保存到系统磁盘的名称) (default: "artifacts.zip")
       --help, -h              show help
    
  • job - 作业 API

    $ go run main.go job --help
    NAME:
       gitlab-go job - 作业 API中文文档https://docs.gitlab.cn/jh/api/jobs.html
    
    USAGE:
       gitlab-go job command [command options] [arguments...]
    
    COMMANDS:
       list     列出项目作业
       help, h  Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value  实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value     your_access_token
       --page value      页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value  每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json      打印 JSON (default: false)
       --print-time      打印时间 (default: false)
       --recursion       递归 (default: false)
       --sort value      按照 asc 或者 desc 排序 (default: "desc")
       --id value        项目 ID 或 URL 编码的路径
       --scope value     要显示的作业范围。以下之一或数组created、pending、running、failed、success、canceled、skipped、waiting_for_resource 或 manual。范围如果未提供则返回所有作业。
       --help, -h        show help
    
  • pipeline - 流水线 API

    $ go run main.go pipeline --help
    NAME:
       gitlab-go pipeline - 流水线 API中文文档https://docs.gitlab.cn/jh/api/pipelines.html
    
    USAGE:
       gitlab-go pipeline command [command options] [arguments...]
    
    COMMANDS:
       list     列出项目流水线
       help, h  Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value  实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value     your_access_token
       --sort value      按照 asc 或者 desc 排序 (default: "desc")
       --page value      页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value  每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json      打印 JSON (default: false)
       --print-time      打印时间 (default: false)
       --recursion       递归 (default: false)
       --id value        项目 ID 或 URL 编码的路径
       --help, -h        show help
    
  • project - 项目 API

    $ go run main.go project --help
    NAME:
       gitlab-go project - 项目 API中文文档https://docs.gitlab.cn/jh/api/projects.html
    
    USAGE:
       gitlab-go project command [command options] [arguments...]
    
    COMMANDS:
       list     列出所有项目
       help, h  Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value     实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value        your_access_token
       --sort value         按照 asc 或者 desc 排序 (default: "desc")
       --page value         页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value     每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --print-json         打印 JSON (default: false)
       --print-time         打印时间 (default: false)
       --search value       根据 title 和 description 搜索议题。
       --search-namespaces  匹配搜索条件时包括上级命名空间。默认为 false。 (default: false)
       --order-by value     返回按 id、name、path、created_at、updated_at、last_activity_at 或 similarity 字段排序的项目。repository_size、storage_size、packages_size 或 wiki_size 字段只允许管理员使用。similarity引入于 14.1 版本)仅在搜索 时可用并且仅限于当前用户所属的项目。默认是created_at。 (default: "created_at")
       --help, -h           show help
    
  • 删除(混合命令,多接口命令)

    $ go run main.go mix-delete --help
    NAME:
       gitlab-go mix-delete - 删除(混合命令,多接口命令)
    
    USAGE:
       gitlab-go mix-delete command [command options] [arguments...]
    
    COMMANDS:
       artifact, artifacts          根据项目路径/ID、流水线IID范围删除产物混合命令多接口命令立即删除
       all-artifact, all-artifacts  根据项目路径/ID删除所有产物混合命令多接口命令立即删除
       help, h                      Shows a list of commands or help for one command
    
    OPTIONS:
       --base-url value                         实例地址例如https://gitlab.xuxiaowei.com.cn/api/v4 (default: "https://gitlab.com/api/v4") [%CI_API_V4_URL%]
       --token value                            your_access_token
       --sort value                             按照 asc 或者 desc 排序 (default: "desc")
       --page value                             页码默认1中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 1)
       --per-page value                         每页列出的项目数默认20最大100中文文档 https://docs.gitlab.cn/jh/api/rest/index.html#pagination (default: 20)
       --id value                               项目 ID 或 URL 编码的路径
       --iid-range value [ --iid-range value ]  流水线ID的范围支持范围如下
                                                单数1
                                                多个数字使用英文逗号隔开1,2,3,7,8,15
                                                支持范围5-10,
                                                支持范围方向选择:-10小于等于100 到 10214-大于等于214214214 + 10000数据范围不超过 10000
       --help, -h                               show help
    

test

go test ./... -v

build

go build
# GOOS=设置构建的目标操作系统darwin | freebsd | linux | windows
# GOARCH=设置构建的目标操作系统386 | amd64 | arm | arm64
# -v打印编译过程中的详细信息
# -ldflags设置在编译时传递给链接器的参数
# -ldflags "-s -w -buildid="
#                           -s: 删除符号表信息,减小可执行文件的大小。
#                           -w: 删除调试信息,使可执行文件在运行时不会打印调试信息。
#                           -buildid=: 删除构建ID使可执行文件在运行时不会打印构建ID。
# -trimpath去掉所有包含 go path 的路径
# -o指定构建后输出的文件名
  • Windows

    • amd64
      go build -o buildinfo/buildinfo.exe buildinfo/buildinfo.go
      GOOS=windows GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo.exe now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo.exe commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo.exe commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo.exe commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo.exe commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo.exe commitTimestamp) -X main.GitTreeState=$(buildinfo/buildinfo.exe git-tree-state) -X main.GitVersion=$(buildinfo/buildinfo.exe commitTag) -X main.GoVersion=$(buildinfo/buildinfo.exe goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform=windows/amd64 -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-windows-amd64.exe .
      
    • arm64
      go build -o buildinfo/buildinfo.exe buildinfo/buildinfo.go
      GOOS=windows GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo.exe now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo.exe commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo.exe commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo.exe commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo.exe commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo.exe commitTimestamp) -X main.GitTreeState=$(buildinfo/buildinfo.exe git-tree-state) -X main.GitVersion=$(buildinfo/buildinfo.exe commitTag) -X main.GoVersion=$(buildinfo/buildinfo.exe goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform=windows/arm64 -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-windows-arm64.exe .
      
  • Linux

    • amd64
      go build -o buildinfo/buildinfo buildinfo/buildinfo.go
      GOOS=linux GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState=$(buildinfo/buildinfo git-tree-state) -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform=linux/amd64 -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-amd64 .
      
    • arm64
      go build -o buildinfo/buildinfo buildinfo/buildinfo.go
      GOOS=linux GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState=$(buildinfo/buildinfo git-tree-state) -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform=linux/arm64 -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-linux-arm64 .
      
  • Darwin

    • amd64
      go build -o buildinfo/buildinfo buildinfo/buildinfo.go
      GOOS=darwin GOARCH=amd64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState=$(buildinfo/buildinfo git-tree-state) -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform=darwin/amd64 -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-darwin-amd64 .
      
    • arm64
      go build -o buildinfo/buildinfo buildinfo/buildinfo.go
      GOOS=darwin GOARCH=arm64 go build -v -ldflags "-s -w -buildid= -X main.BuildDate=$(buildinfo/buildinfo now) -X main.Compiler= -X main.GitCommitBranch=$(buildinfo/buildinfo commitBranch) -X main.GitCommitSha=$(buildinfo/buildinfo commitSha) -X main.GitCommitShortSha=$(buildinfo/buildinfo commitShortSha) -X main.GitCommitTag=$(buildinfo/buildinfo commitTag) -X main.GitCommitTimestamp=$(buildinfo/buildinfo commitTimestamp) -X main.GitTreeState=$(buildinfo/buildinfo git-tree-state) -X main.GitVersion=$(buildinfo/buildinfo commitTag) -X main.GoVersion=$(buildinfo/buildinfo goShortVersion) -X main.Major= -X main.Minor= -X main.Revision= -X main.Platform=darwin/arm64 -X main.CiPipelineId= -X main.CiJobId=" -trimpath -o gitlab-go-darwin-arm64 .