Exemple de configuration de déploiement (YAML)

Sauvegarder ces fichiers au même emplacements que le fichier .git


                deployment:
                    tasks:
                        - export DEPLOYPATH=/home/symfony_test/FreeLancer/portfolio/
                        - /bin/cp -R * $DEPLOYPATH
                    exclude:
                        - .git
                        - .github
                        - mysql
                        - .idea
            

Exemple de workflow GitHub Actions (déploiement FTPS)

Crée le dossier .github/workflows/deploy.yaml


            
                
            
                name: Deploy via FTPS

                on:
                push:
                    branches: [main]

                jobs:
                ftp-deploy:
                    runs-on: ubuntu-latest
                    steps:
                    # 1️⃣ Récupération du code source
                    - name: Checkout repository
                        uses: actions/checkout@v4

                    # 2️⃣ Étape de build (si nécessaire)
                    - name: Build (si nécessaire)
                        run: |
                        # Ajoutez vos commandes de build ici si besoin
                        echo "Aucune étape de build configurée"

                    # 3️⃣ Synchronisation des fichiers via FTPS adding config to git repository (action-keys)
                    - name: Sync files via FTPS
                        uses: SamKirkland/FTP-Deploy-Action@v4.3.6
                        with:
                        {# add in git action #}

                        server: ${{ secrets.FTP_HOST }} # hostname
                        username: ${{ secrets.FTP_USERNAME }} # username
                        password: ${{ secrets.FTP_PASSWORD }} # ton mot de passe
                        protocol: ftps # FTPS explicite
                        port: 21 # Port FTP standard
                        local-dir: ./path-local/ # chemin relatif dans le repo
                        server-dir: ./path/server/
                        exclude: |
                            **/.git*
                            **/node_modules/*
                        dry-run: false
                        verbose: true