当使用GitLab Runner为基于Laravel的PHP项目进行部署时,你可以创建一个.gitlab-ci.yml
文件来配置CI/CD流水线。下面是一个示例配置,你可以根据你的项目需求进行适当的修改:
stages:
- build
- deploy
variables:
APP_ENV: production
DB_HOST: your_database_host
DB_DATABASE: your_database_name
DB_USERNAME: your_database_username
DB_PASSWORD: your_database_password
cache:
paths:
- vendor/
before_script:
- apt-get update
- apt-get install -y unzip
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- cp .env.example .env
- composer install --no-interaction --prefer-dist --no-suggest
- php artisan key:generate
- php artisan config:cache
build:
stage: build
script:
- php artisan route:cache
- php artisan view:cache
- php artisan optimize
deploy_production:
stage: deploy
script:
- ssh deploy@your_server 'cd /var/www/html && git pull origin master'
- ssh deploy@your_server 'cd /var/www/html && composer install --no-dev --optimize-autoloader'
- ssh deploy@your_server 'cd /var/www/html && php artisan migrate --force'
- ssh deploy@your_server 'cd /var/www/html && php artisan config:cache'
- ssh deploy@your_server 'cd /var/www/html && php artisan route:cache'
- ssh deploy@your_server 'cd /var/www/html && php artisan view:cache'
请注意,上述配置假设你已经在服务器上设置了适当的部署用户(deploy
)和相关权限。确保将your_database_host
、your_database_name
、your_database_username
和your_database_password
替换为实际的数据库连接信息。
此配置文件的关键点如下:
- 在
before_script
阶段,我们安装依赖、生成密钥并进行配置缓存。 build
阶段用于优化Laravel项目。deploy_production
阶段连接到你的服务器,执行必要的操作,例如从Git拉取代码、安装依赖、运行数据库迁移,并缓存配置、路由和视图。
请根据你的具体要求进行适当的调整和自定义。