文件名称:golang-monorepo:基于golang的monorepo的示例
文件大小:159KB
文件格式:ZIP
更新时间:2024-02-22 09:21:17
go bash docker golang makefile
GitHub动作 CircleCI 总览 这是基于golang的monorepo的示例。 它具有以下功能: 只构建在提交中修改的服务或cmds; 构建受通用代码(即pkg )更改影响的所有服务和/或cmds; 构建受vendor代码更改影响的所有服务和/或cmd。 目前,支持和 。 但是由于它使用bash脚本和Makefile,因此移植到或等应该相当简单。 目前,已在构建期间启用GO111MODULE=on和GOFLAGS=-mod=vendor环境变量来设置CI。 有关更多详细信息,请参见样本 。 它是如何工作的 在CI构建期间, 会迭代提交范围内的更新文件( CIRCLE_COMPARE_URL环境变量)或单个提交内的修改文件(当值不是有效范围时),但隐藏文件, pkg和vendor文件夹除外。 然后它将尝试遍历目录路径,直到找到一个Makefile(不包括根Makefile)为止。 一旦找到,将包括该Makefile并调用custom规则作为目标,从而启动构建。 当更改属于pkg或vendor ,脚本将尝试使用go list命令确定具有依赖项的服务(和cmds)。 然