Laravel项目在Debian上的持续集成怎么做

43
2025/4/10 6:32:28
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian上为Laravel项目设置持续集成(CI)和持续部署(CD)涉及几个步骤。以下是一个基本的指南,帮助你实现这一目标。

1. 安装必要的软件

首先,确保你的Debian系统是最新的,并安装必要的软件包:

sudo apt update
sudo apt upgrade
sudo apt install nginx php8.2-fpm php8.2-mysql mariadb-server redis-server composer

2. 配置Laravel环境

创建一个新的Laravel项目:

composer create-project --prefer-dist laravel/laravel my-laravel-project
cd my-laravel-project

配置.env文件以匹配你的数据库和其他设置:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_database
DB_USERNAME=my_user
DB_PASSWORD=my_password

3. 安装Docker和Docker Compose

安装Docker和Docker Compose来容器化你的Laravel应用:

sudo apt install docker.io
sudo curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp - docker

创建并配置docker-compose.yml文件:

version: '3'
services:
  web:
    build: .
    command: php artisan serve --host=0.0.0.0
    volumes:
      - .:/var/www/html
    ports:
      - "8000:8000"
  db:
    image: mysql:8.0
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

4. 设置持续集成工具

使用Jenkins

  1. 安装Jenkins
sudo apt install jenkins
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl status jenkins
  1. 配置Jenkins

    • 安装必要的插件(如Docker, Git, PHP, MySQL)。
    • 创建一个新的Jenkins任务,配置源码管理(Git),构建触发器(轮询SCM),以及构建步骤(安装依赖,运行测试,部署到服务器)。

使用GitHub Actions

  1. 创建.github/workflows/ci-cd.yml文件
name: CI/CD Pipeline

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Setup environment
      run: |
        cp .env.example .env
        php artisan key:generate

    - name: Install dependencies
      run: composer install

    - name: Run tests
      run: vendor/bin/phpunit

    - name: Deploy to production
      run: |
        scp -r . user@your-server:/var/www/my-laravel-project
        ssh user@your-server "systemctl restart nginx"

5. 自动化部署

将你的代码推送到Git仓库(如GitHub、GitLab等),配置CI/CD工具(如Jenkins或GitHub Actions)来自动触发构建和部署流程。

参考资源

通过以上步骤,你可以在Debian上为你的Laravel项目设置一个基本的持续集成和持续部署流程。根据你的具体需求,你可能需要进一步定制和优化这些步骤。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: debian防火墙配置的步骤是什么