在Debian上进行Laravel项目的持续集成(CI)通常涉及以下步骤:
版本控制系统:确保你的Laravel项目托管在一个版本控制系统中,如Git。
持续集成服务:选择一个持续集成服务,如Jenkins、Travis CI、GitLab CI/CD、CircleCI等。
安装依赖:在你的Debian系统上安装必要的软件包,例如PHP、Composer、Git等。
配置CI服务:根据你选择的CI服务,配置相应的构建脚本和测试脚本。
自动化测试:编写自动化测试脚本,确保每次代码提交都能自动运行测试。
部署脚本:编写部署脚本,以便在测试通过后自动将代码部署到生产环境或预发布环境。
以下是一个使用GitLab CI/CD进行Laravel项目持续集成的基本示例:
在你的Debian系统上,安装PHP、Composer和Git:
sudo apt update
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath unzip git
在你的Laravel项目根目录下创建一个 .gitlab-ci.yml
文件,并添加以下内容:
stages:
- test
- deploy
variables:
DEPLOY_ENV: "staging"
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan $DEPLOY_HOST >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
test:
stage: test
script:
- composer install --no-interaction --prefer-dist --optimize-autoloader
- php artisan config:cache
- php artisan route:cache
- php artisan view:cache
- php artisan migrate --seed
- vendor/bin/phpunit
deploy:
stage: deploy
script:
- ssh -o StrictHostKeyChecking=no $DEPLOY_USER@$DEPLOY_HOST "cd /path/to/your/project && git pull origin master && composer install --no-interaction --prefer-dist --optimize-autoloader && php artisan migrate --seed && php artisan config:cache && php artisan route:cache && php artisan view:cache"
only:
- master
确保你在GitLab CI/CD设置中添加了SSH私钥(SSH_PRIVATE_KEY
),并在 .gitlab-ci.yml
文件中正确配置了部署主机和用户信息。
每次你向GitLab仓库推送代码时,GitLab CI/CD将自动运行定义的管道,执行测试和部署脚本。
通过以上步骤,你可以在Debian上为Laravel项目设置持续集成,确保代码质量和部署的自动化。