如何解决使用Jenkins和Makefile将tar文件推送到s3
我正在尝试使用jenkins部署构建文件夹,我在源代码中添加了Makefile,它将把我所有的构建文件以tar格式推送到s3。
下面是我的Makefile,我是该Makefile的新手。
因此,根据詹金斯构建参数,我正在检查应添加的文件名以及要选择的脚本。
在这里,我写了if,但是不知道如何在本地运行它并检查它是否正确。
我还可以使用switch代替其他方法吗,所以更多的env会有所帮助。
从本地运行此文件的命令是什么,我尝试了make -f Makefile
,但仅打印command for checking testing
却没有任何反应
run test:
# command for checking testing
create tar file:
# pick the proper env based on jenkins params
mkdir target
if [${ENV} = "testing"]; then \
npm install && npm run build:testing
tar czf target/app-${BUILD_NUMBER}_testing.tar.gz build/
else \
npm install && npm run build:development
tar czf target/app-${BUILD_NUMBER}_development.tar.gz build/
fi
push to s3:
aws s3 sync target/ s3://app-builds
基本上,我试图在s3的app-builds桶中获取tar文件,该命令在运行该文件时将在build文件夹内,例如基于jenkins params传递的env。
s3应用程序构建存储区中的预期输出
app-0.0.1_testing.tar.gz
app-0.0.2_testing.tar.gz
app-0.0.3_development.tar.gz
解决方法
第一个建议:从目标名称中删除空格。 Make不适用于带有嵌入式空间的文件/目标。例如:“推到s3”应为“ push_to_s3”(或类似名称)
默认情况下,调用make将执行makefile中的第一个目标(运行测试)。要调用s3目标,请使用“ make push_to_s3”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。