在 Gitlab CI/CD 中克隆之前删除以前的目录

在 Gitlab CI/CD 中克隆之前删除以前的目录

我正在使用 Gitlab Runner 将新网站版本部署到服务器中。部署的原始方案是浅克隆到具有当前日期时间字符串(如“2019-10-27-17-43-05”)的新目录。然后系统将从主应用程序目录创建新的符号链接至此新文件夹。运行编译和其他作业后。因此几天后,我们有许多未使用的文件和文件夹,并占满了硬盘。

releases/
releases/2019-10-29-10-49-31
releases/2019-10-29-01-27-44
releases/2019-10-29-14-51-59
releases/2019-10-27-17-43-05
releases/2019-10-28-00-20-16
releases/2019-10-29-14-31-18
releases/2019-10-28-19-00-41
releases/2019-10-29-01-11-43
releases/2019-10-29-14-22-41
releases/2019-10-28-00-03-52
releases/2019-10-27-17-15-24
releases/2019-10-28-00-17-26
releases/2019-10-29-01-20-44
releases/2019-10-27-23-12-52
releases/2019-10-29-10-47-17
releases/2019-10-29-14-24-11

符号链接在这里:

ubuntu@saatchi:/usr/local/lsws/app$ ll
total 44
drwxrwxr-x+  4 nobody        gitlab-runner 4096 Oct 29 14:56 ./
drwxrwxr-x+  4 nobody        gitlab-runner 4096 Oct 27 17:11 ../
-rw-rwxr--+  1 nobody        root           749 Oct 27 17:05 .env*
-rw-rwxr--+  1 nobody        gitlab-runner   23 Oct 24 17:48 .gitignore*
lrwxrwxrwx   1 gitlab-runner gitlab-runner   62 Oct 29 14:56 current -> /usr/local/lsws/app/releases/2019-10-29-14-51-59/
drwxrwxr-x+ 20 nobody        gitlab-runner 4096 Oct 29 14:51 releases/
drwxrwxr-x+  6 nobody        gitlab-runner 4096 Oct 24 17:48 storage/

请推荐一些删除旧目录的最佳做法。我个人的意见是删除所有旧目录,排除最近的 2 个。成功克隆后,使用“find”命令。如果这个好,请告诉我完整的命令。

答案1

在网上搜索解决方案后,最后我发现:使用此代码可以保留 5 个最新版本。

ls -1t | tail -n +5 | xargs rm -rf

相关内容