将 GitLab CI 中的构建工件上传到 S3 不起作用
Upload build artefact in GitLab CI to S3 doesn't work
在 GitLab CI 我有一个构建,我在其中生成一些静态文件并使用 dpl 将这些文件部署到 s3。
我的命令是:
- npm run build-static && dpl --provider=s3 --access-key-id=$ACCESS_KEY_ID --secret_access_key=$SECRET_ACCESS_KEY --bucket=staging.teletext.io --region=eu-west-1 --acl=public_read
构建工作正常,控制台输出符合我的预期。这会在运行器上生成一个 build/public 文件夹,但是当 dpl 将所有内容上传到 s3 时,除了 build/public 文件夹本身之外的所有内容都在那里。
为什么新文件夹没有上传?
编辑:问题出在 DPL 中。我在上传文件时创建了一个 Grunt 脚本,而不是使用 DPL,并且效果很好。我不知道为什么 DPL 看不到生成的文件。
问题出在DPL本身。根据文档,应该设置一个标志 --skip-cleanup
:
Dpl will deploy by default from the latest commit. Use the --skip_cleanup flag to deploy from the current file state. Note that many providers deploy by git and could ignore this option.
在 GitLab CI 我有一个构建,我在其中生成一些静态文件并使用 dpl 将这些文件部署到 s3。
我的命令是:
- npm run build-static && dpl --provider=s3 --access-key-id=$ACCESS_KEY_ID --secret_access_key=$SECRET_ACCESS_KEY --bucket=staging.teletext.io --region=eu-west-1 --acl=public_read
构建工作正常,控制台输出符合我的预期。这会在运行器上生成一个 build/public 文件夹,但是当 dpl 将所有内容上传到 s3 时,除了 build/public 文件夹本身之外的所有内容都在那里。
为什么新文件夹没有上传?
编辑:问题出在 DPL 中。我在上传文件时创建了一个 Grunt 脚本,而不是使用 DPL,并且效果很好。我不知道为什么 DPL 看不到生成的文件。
问题出在DPL本身。根据文档,应该设置一个标志 --skip-cleanup
:
Dpl will deploy by default from the latest commit. Use the --skip_cleanup flag to deploy from the current file state. Note that many providers deploy by git and could ignore this option.