SamKirkland / FTP-Deploy-Action

Deploys a GitHub project to a FTP server using GitHub actions
MIT License
3.58k stars 361 forks source link

New example for Laravel (PHP) project #297

Open Mavv3006 opened 2 years ago

Mavv3006 commented 2 years ago

Please add a new example for a Laravel project.

bhekor commented 1 year ago

yes pleaseeee.

ngl5000 commented 9 months ago

3rd please :)

zendzo commented 8 months ago

i use this setting on my main.yaml

on: push
name: 🚀 Deploy website on push
jobs:
  web-deploy:
    name: 🎉 Deploy
    runs-on: ubuntu-latest
    steps:
    - name: 🚚 Get latest code
      uses: actions/checkout@v3

    - name: 📂 Sync files
      uses: SamKirkland/FTP-Deploy-Action@v4.3.4
      with:
        server: **
        username: **
        protocol: ftps
        port: 21 # todo replace with your web hosts ftps port

on the server side. create user and and folder setting in cpanel directly on laravel folder

solomon-ochepa commented 7 months ago
# This is a basic workflow to help you get started with Actions

name: 🚀 Deploye

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
    types: [closed]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  web-deploy:
    name: 🎉 Deploying
    runs-on: ubuntu-latest
    steps:
    - name: 🚚 Get latest code
      uses: actions/checkout@v3

    # - name: Copy .env
    #   run: php -r "file_exists('.env') || copy('.env.example', '.env');"
    # - name: Generate key
    #   run: php artisan key:generate

    - name: Install Dependencies
      run: composer update --ignore-platform-reqs

    - name: Directory Permissions
      run: chmod -R 775 storage

    - name: Clear Caches
      run: php artisan optimize:clear

    - name: Storage link
      run: php artisan storage:link --force

    - name: 📂 Sync files
      uses: SamKirkland/FTP-Deploy-Action@v4.3.4
      with:
        server: ${{ secrets.FTP_SERVER }}
        username: ${{ secrets.FTP_USERNAME }}
        password: ${{ secrets.FTP_PASSWORD }}
        server-dir: '/public_html/example/'
        exclude: |
          **/.DS_Store
          **/.env
          **/.git*
          **/.git*/**
          **/.phpunit.cache
          **/.phpunit.result.cache
          **/.idea
          **/.vscode
          **/.dockerignore
          **/.editorconfig
          **/.gitattributes
          **/.gitignore
          **/*.zip
          **/build
          **/compose*.y*
          **/docker-compose*
          **/Dockerfile*
          **/*error*
          **/Homestead.json
          **/Homestead.yaml
          **/node_modules/**
          **/npm-debug.log
          **/public/hot
          **/public/storage
          **/src
          **/storage/*.key
          **/storage/framework/**
          **/storage/logs/**
          **/storage/tenant*/**
          **/*temp/**