主页/PHP笔记/PHP问答/框架Laravel/如何在 Laravel 中实现 CI/CD:实践指南

如何在 Laravel 中实现 CI/CD:实践指南

Bug编译狮

Bug编译狮

在 Laravel 中实现持续集成(CI)和持续部署(CD),可以帮助你提高开发效率、减少错误并确保代码的稳定性和安全性。以下是一个详细的实践指南,帮助你在 Laravel 项目中设置 CI/CD 环境。

1. 安装 GitLab CI

GitLab 是一个流行的开源 CI/CD 工具,支持多种编程语言和框架。以下是安装 GitLab CI 的基本步骤:

在服务器上安装 GitLab CE

  1. 下载并解压 GitLab CE

    wget https://download.gitlab.com/gitlab/gitlab-ce/releases/download/v15.0.2/gitlab-ce-15.0.2.tar.gz
    tar -xzvf gitlab-ce-15.0.2.tar.gz
    cd gitlab-ce-15.0.2
  2. 初始化数据库

    sudo ./bin/install.sh --gitlab-ruby-version=3.2.24 --gitlab-shell-path=/var/opt/gitlab/gitlab-shell --gitlab-workhorse-path=/var/opt/gitlab/gitlab-workhorse --gitlab-web-server-path=/opt/gitlab/nginx --gitlab-gitlab-runner-path=/opt/gitlab/gitlab-runner --external-url="http://yourserver.example.com"
  3. 配置 GitLab: 打开浏览器访问 http://yourserver.example.com,按照提示完成初始设置。

2. 配置 Laravel 项目

在你的 Laravel 项目根目录下创建 .gitlab-ci.yml 文件,并添加以下内容:

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - composer install
    - php artisan clear-compiled

test:
  stage: test
  script:
    - vendor/bin/phpunit

deploy:
  stage: deploy
  only:
    - master
  script:
    - git add .
    - git commit -m "Deploying to production"
    - git push origin master

3. 配置 Composer 和 PHP

确保你的 Composer 和 PHP 版本是最新的。你可以使用以下命令来更新它们:

composer update
php -v

4. 配置 Nginx

如果你还没有配置 Nginx,可以按照以下步骤进行:

  1. 安装 Nginx

    sudo apt-get update
    sudo apt-get install nginx
  2. 配置 Nginx: 编辑 /etc/nginx/sites-available/default 文件,添加以下内容:

    server {
       listen 80;
       server_name yourserver.example.com;
    
       root /path/to/your/laravel/project/public;
       index index.php index.html index.htm;
    
       location / {
           try_files $uri $uri/ =404;
       }
    
       location ~ .php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/run/php/php7.4-fpm.sock;
       }
    }
  3. 启用站点

    sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
  4. 测试 Nginx 配置

    sudo nginx -t
  5. 重启 Nginx

    sudo systemctl restart nginx

5. 测试 CI/CD

现在,你可以通过提交更改到 GitLab 主分支来触发 CI/CD 流程。当代码被推送到 master 分支时,GitLab CI/CD 将自动运行构建、测试和部署阶段。

示例代码

以下是一个简单的示例代码,展示了如何在 Laravel 中使用 Composer 和 PHPUnit 进行单元测试:

创建一个测试类

tests/Unit 目录下创建一个新的测试类,例如 UserTest.php

<?php

namespace TestsUnit;

use AppUser;
use IlluminateFoundationTestingTestCase;

class UserTest extends TestCase
{
    public function test_create_user()
    {
        $user = factory(User::class)->create();

        $this->assertTrue($user->exists);
    }
}

运行测试

在终端中运行以下命令来执行测试:

./vendor/bin/phpunit tests/Unit/UserTest.php

通过以上步骤,你可以在 Laravel 项目中成功实现 CI/CD 环境。根据你的具体需求,你可能需要进一步配置和扩展这些步骤。

黑板Bug讲师

黑板Bug讲师

概览

在软件开发的世界里,CI/CD(持续集成/持续部署)对于不断迭代和改进代码至关重要。对于Laravel,一个最受欢迎的PHP框架,实施CI/CD可以显著简化开发流程,确保所有新提交的代码都能自动且可靠地部署更改。在这篇文章中,我们将从头到尾介绍如何为Laravel应用设置CI/CD管道。

为什么使用CI/CD?

持续集成(Continuous Integration,CI)和持续部署(Continuous Deployment,CD)通过自动化构建、测试和部署过程来连接开发团队和运营团队。在CI/CD的最佳实践下,可以显著减少为发布引入更改所需的时间,并允许更频繁地进行发布。

在这个教程中,我们将深入探讨:

自动化部署到生产服务器。

使用GitHub Actions配置持续集成服务。

创建一个测试环境使用PHPUnit。

设置使用Git和GitHub的版本控制系统。

先决条件

部署访问权限(例如,DigitalOcean droplet)

一个GitHub账户

一个Laravel应用程序。

设置一个仓库

首先,你需要将你的Laravel应用存储在Git仓库中。如果你还没有初始化Git到你的Laravel项目,请在项目目录中运行以下命令:

git init
 git add .
 git commit -m "Initial commit"

接下来,在GitHub上创建一个新的仓库,并将其本地仓库与该远程仓库进行链接:

git remote add origin your-repository-url
 git push -u origin master

使用PHPUnit进行自动化测试

Laravel自带了对PHPUnit的内置支持进行测试。自动化测试对于良好的CI/CD管道至关重要,确保每次更改都通过必要的质量检查。默认的Laravel设置包括一个示例测试,你可以运行它:

php artisan test

现有测试文件位于tests目录下。你应该为应用程序的功能编写测试用例。这里有一个简单的示例:

public function testBasicTest()
{
    $response = $this->get('/');
    $response->assertStatus(200);
}

添加测试后,将其提交到仓库:

git add .
 git commit -m 'Added tests'
 git push origin master

设置与GitHub Actions集成的持续集成(Continuous Integration,CI)。

下一步是配置GitHub Actions,这可以在GitHub平台上直接提供CI/CD功能。你需要在你的仓库中创建一个名为.laravel.yml的文件,并添加一个新的YAML文件来定义你的工作流。

name: Laravel CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Install Dependencies
      run: composer install --no-progress
    - name: Run Tests
      run: php artisan test

在这种基本设置下,每次推送到仓库时,都会触发一个工作流执行,该工作流会克隆仓库、安装依赖项并运行测试。如果任何步骤失败,则工作流将停止,并且GitHub会显示推送为未成功。

自动化Laravel部署

现在CI已经到位,你可以添加步骤到工作流中处理CD。部署可以简单也可以复杂,取决于服务器配置的需求。一个基本的部署步骤可能包括SSH连接到服务器并从Git拉取最新更改。

在workflow文件中添加以下步骤:

- name: Deploy to Production
  if: github.ref == 'refs/heads/master'
  uses: appleboy/ssh-action@master
  with:
    host: ${{ secrets.DEPLOY_SERVER }}
    username: ${{ secrets.DEPLOY_USER }}
    password: ${{ secrets.DEPLOY_PASSWORD }}
    script: | 
      cd path-to-your-laravel-app
      git pull origin master
      composer install --no-dev --optimize-autoloader
      php artisan migrate --force

为了确保此操作的安全,您应将服务器连接详细信息存储在GitHub仓库设置中的密钥中,而不是workflow文件本身中。

维护和回滚

良好的CI/CD实践不仅关注部署,还包括制定应用维护和回滚策略。处理数据库迁移、备份和存储资产等都是重要考虑因素。虽然本教程不涵盖这些方面,但请务必了解,稳定部署应考虑到这些问题。

也有专门针对Laravel的部署服务,比如Envoyer,它可以处理零停机部署和可能补充CI/CD管道中常见任务的自动化工作。

结论

设置CI/CD管道是一项投资,其回报巨大。它增强了发布流程的信心,鼓励测试,并加速开发周期。按照本教程中的步骤进行操作,您将踏上更高效、可靠和专业Laravel开发工作流的道路。

长工码奴1523

长工码奴1523

在 Laravel 中实现 CI/CD(持续集成/持续部署)是一种高效且可靠的方法,可以帮助团队自动化构建和测试过程,并确保每次发布都能满足所有预期的质量标准。以下是在 Laravel 中实现 CI/CD 的实践指南:

1. 设置 CI/CD 配置

使用 GitLab CI:

首先,你需要设置 GitLab 作为 CI/CD 服务器。登录到你的 GitLab 控制台并创建一个新的项目。

git init
git add . --all
git commit -m "Initial commit"

然后,使用 git push 将当前状态推送到远程仓库。

接下来,配置 GitLab CI 来触发构建。在 settings.toml 文件的 [ci] 节点下添加以下配置:

[ci]
# ... 其他选项 ...

# 运行命令
build:
  image: php:7.4-fpm
  script:
    - composer install
    - php artisan migrate --seed
    # 增加其他需要运行的命令...

这个配置将使用 PHP 构建工具安装 Composer 并执行数据库迁移。

使用 Jenkins:

对于 Jenkins,你可以创建一个新的 Jenkinsfile,例如 Dockerfile。在这个文件中,你应该列出要运行的 Docker 容器和启动容器的命令。例如:

stages:
- build
- deploy

build:
image: node:12

run:
  command: npm ci && npm run test

deploy:
  stage: deploy
  image: nginx:latest
  script:
    - echo "Deployment complete."

这将在每个构建阶段后运行 npm cinpm run test,并在部署阶段之后运行 echo "Deployment complete."

2. 实现自动测试和单元测试

Laravel 提供了各种自动化测试框架,如 Laravel 单元测试 (unit) 和 Laravel 框架测试库 (phpunit). 在 CI/CD 流程中,这些测试应该定期被触发。

// 在 Laravel 应用目录下的 `tests` 目录下创建一个测试类。
class TestControllerTest extends TestCase
{
    public function testAdd()
    {
        $this->post('/add', ['value' => 5, 'operator' => '+']);
        $response = $this->client->get('/');

        // 确保响应是成功的,并检查返回的值是否与预期相符。
        $this->assertEquals(6, $response->getStatusCode());
    }
}

3. 执行 CI/CD 流程

使用 GitLab CI:

在 GitLab 控制台上,你可以通过运行 gitlab-ci.yml 文件来定义 CI/CD 流程。例如,如果你想要在每次提交时触发构建和部署,可以这样设置:


stages:
  - build
  - deploy

build:
  image: php:7.4-fpm
  script:
    - composer install
    - php artisan migrate --seed

deploy:
  stages:
  - deploy-pre
  - deploy-post
  only:
    - master
  when:
    on:
      branch: [master]
  script:
    - echo "Deploying to production..."
    - git pull origin master
    - docker-compose up -d
    - php artisan serve
    - sleep 60
    - php artisan cache:clear
    - php artisan route:cache
    - php artisan config:clear
    - php artisan view:clear
    - php artisan storage:link
    - php artisan optimize
    - php artisan optimize:clear
    - php artisan migrate
    - php artisan db:seed
    - php artisan test
    - php artisan garbagemanage:clear
    - php artisan garbagemanage:flush
    - php artisan garbagemanage:clean
    - php artisan garbagemanage:schedule:queue
    - php artisan garbagemanage:purge
    - php artisan garbagemanage:reindex
    - php artisan garbagemanage:reset
    - php artisan garbagemanage:force
    - php artisan garbagemanage:recycle
    - php artisan garbagemanage:recycle-all
    - php artisan garbagemanage:restore
    - php artisan garbagemanage:clear-cache
    - php artisan garbagemanage:clear-cache-all
    - php artisan garbagemanage:clear-sessions
    - php artisan garbagemanage:clear-storage
    - php artisan garbagemanage:clear-config
    - php artisan garbagemanage:clear-view
    - php artisan garbagemanage:clear-mail
    - php artisan garbagemanage:clear-analytics
    - php artisan garbagemanage:clear-logs
    - php artisan garbagemanage:clear-tests
    - php artisan garbagemanage:clear-cors
    - php artisan garbagemanage:clear-bundles
    - php artisan garbagemanage:clear-bundle-settings
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage:clear-bundle-policies
    - php artisan garbagemanage:clear-bundle-services
    - php artisan garbagemanage:clear-bundle-authenticators
    - php artisan garbagemanage:clear-bundle-throttlers
    - php artisan garbagemanage:clear-bundle-passwords
    - php artisan garbagemanage:clear-bundle-emails
    - php artisan garbagemanage:clear-bundle-views
    - php artisan garbagemanage:clear-bundle-sessions
    - php artisan garbagemanage:clear-bundle-cors
    - php artisan garbagemanage:clear-bundle-routes
    - php artisan garbagemanage:clear-bundle-resources
    - php artisan garbagemanage:clear-bundle-managers
    - php artisan garbagemanage:clear-bundle-migrations
    - php artisan garbagemanage:clear-bundle-seeds
    - php artisan garbagemanage:clear-bundle-tasks
    - php artisan garbagemanage:clear-bundle-models
    - php artisan garbagemanage:clear-bundle-forms
    - php artisan garbagemanage