首页 > 后端开发 > Golang > 正文

Github Actions Go lambda 项目不同的 sha256sums

WBOY
发布: 2024-02-06 11:30:03
转载
759人浏览过

github actions go lambda 项目不同的 sha256sums

问题内容

我有 golang aws lambda 项目。我使用 terraform 脚本将其部署在 github actinos 上。 我有这样的情况: 构建#1

-rwxr-xr-x  1 runner docker 14717304 jan  1  2022 atest
-rw-r--r--  1 runner docker  7776780 jan  1  2022 atest.zip
登录后复制

我在某个文件中做了 1 处更改,该更改甚至未在任何其他文件中导入,并且 构建#2

-rwxr-xr-x  1 runner docker 14717304 jan  1  2022 atest
-rw-r--r--  1 runner docker  7776755 jan  1  2022 atest.zip
登录后复制

zip 大小已更改,但二进制文件未更改

这是我的 makefile 的重要部分

build: ## Build Linux binary with path consistent with passed functionction layere (layer) and functionction name (function)
build: resolve-env
    @$(BUILD_FLAGS) ${GOCMD} build ${LDFLAGS} -o ${BINARY_PATH} ${GO_PKG}
    @touch -t 202201010000.00 ${BINARY_PATH}

.PHONY: package
package: build
    @cd ${DST} && ${ZIPCMD} -X -q --latest-time ${ABS_ZIP_PATH} ${function}
    @touch -t 202201010000.00 ${ABS_ZIP_PATH}
登录后复制

当我在本地进行相同的更改,并使用 terraform 或名为“act”的工具运行构建时,没有这样的更改..仅在 github actions 上。 我需要保持相同的大小,这会影响 sha256sum (以避免部署每个 lambda )。 可能是什么原因?


正确答案


这个答案重点关注 go 二进制文件的可重复构建。

虽然它显示 go 二进制文件具有相同的大小,但我怀疑内容是否不同。请首先检查二进制文件的哈希值以确认这一点。

FlowMuse AI
FlowMuse AI

节点式AI视觉创作引擎

FlowMuse AI 85
查看详情 FlowMuse AI

要获得可重现的构建,除了其他明显的要求之外,您还需要:

  1. 确保 cgo 构建可重现(工具链、依赖项等),或禁用 cgo。您已经设置了 CGO_ENABLED=0 (此信息由另一个已删除的问题提供)。
  2. 使用 -trimpath 标志。也许 GitHub 操作总是将源代码放在同一目录中。为了安全起见,我们指定此选项。
  3. 设置 -buildvcs=false。默认情况下(“自动”),版本控制信息将被标记到二进制文件中(如果可用)。这解释了为什么仅自述文件中存在差异的两次提交会产生不同的二进制文件。

参考文献:

以上就是Github Actions Go lambda 项目不同的 sha256sums的详细内容,更多请关注php中文网其它相关文章!

相关标签:
Github
Github

Github是一款非常实用的代码开放工具,用户可以按照自己的需求进行搜索,从而快速定位到所需的代码或项目位置,还能在软件中建立自己的代码仓库,有需要的小伙伴快来保存下载体验吧!

下载
来源:stackoverflow网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号