在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項目設置持續集成,確保代碼質量和部署的自動化。