在GitHub操作中,我想在部署新捆绑包后从FTP服务器中删除旧捆绑包文件。为了实现这一点,我想到
- 部署新捆绑包
- 解析(
main-*.js
、polyfills-*.js
等(的散列 - 删除除具有新哈希的文件外的所有匹配文件
对于(3(,我打算将lftp与mrm main-*.!(328276e83108ad3616fd).js
一起使用。然而,这似乎与lftp的预期模式不匹配。Shopts exglob在父shell中被激活,但我担心这对lftp没有影响。
任何关于如何实现上述目标的提示都将不胜感激。谢谢
您需要启用扩展的globbing才能工作https://www.linuxjournal.com/content/bash-extended-globbing
问题是,这个github操作没有在alpine docker文件中启用它,所以你需要编写自己的
对你来说,最简单的方法是分叉回购,并创建一个PR来支持它进入StephanThierry/ftp删除操作回购,同时在你的管道中使用分叉回购
分叉repo后,编辑此文件https://github.com/StephanThierry/ftp-delete-action/blob/master/Dockerfile
RUN apk --no-cache add lftp bash # adds bash to support shopt extglob
RUN: shopt -s extglob # enables extended globbing
然后在将分支合并到分支中后创建一个新版本的分支,并将该新分支用作工作流中的操作