# Gitee Go 流水线配置(模板) # 目标:代码推送后自动执行“结构变更 SQL 脚本”与基础回归测试。 # # 注意:该文件为模板,具体 DB/ENV 需要在 Gitee Go 的「变量/密钥」中配置。 # 不要把任何密码/令牌写进仓库。 version: 1.0 name: SaaSShop CI stages: - test jobs: test: stage: test image: php:8.2 steps: - name: 安装系统依赖 run: | apt-get update apt-get install -y git unzip libzip-dev default-mysql-client libsqlite3-dev docker-php-ext-install pdo pdo_mysql pdo_sqlite - name: 安装 Composer run: | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php --install-dir=/usr/local/bin --filename=composer composer --version - name: 安装 PHP 依赖 run: | composer install --no-interaction --prefer-dist --optimize-autoloader - name: 准备环境文件(CI 默认使用 sqlite,避免依赖外部 DB) run: | [ -f .env ] || cp .env.example .env # 覆盖为 sqlite(可按需在 Gitee Go 变量中替换为 mysql) sed -i 's/^DB_CONNECTION=.*/DB_CONNECTION=sqlite/' .env sed -i 's%^DB_DATABASE=.*%DB_DATABASE='"$PWD"'/database/database.sqlite%' .env grep -q '^DB_DATABASE=' .env || echo "DB_DATABASE=$PWD/database/database.sqlite" >> .env mkdir -p database touch database/database.sqlite php artisan key:generate - name: 运行 Laravel migrations run: | php artisan migrate --force php artisan migrate:status - name: 运行 SQL 结构迁移脚本(V1__xxx.sql) run: | composer run db:sql-migrate - name: 运行测试(先跑关键链路,再全量) run: | php artisan test --filter='AdminPlanTest|AdminSiteSubscriptionTest|AdminPlatformOrderTest' php artisan test