desactivation des cors #13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Déploiement sur VPS (dev) | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main, develop] | |
| workflow_dispatch: | |
| env: | |
| APP_NAME: ${{ github.event.repository.name }}.dev | |
| APP_PATH: /home/apps/${{ github.event.repository.name }}.dev | |
| DATABASE_NAME: javascript_cm | |
| jobs: | |
| deploy: | |
| runs-on: ubuntu-latest | |
| environment: dev | |
| steps: | |
| - name: Vérifier le code | |
| uses: actions/checkout@v4 | |
| - name: Créer le dossier de l'application sur le VPS | |
| uses: appleboy/ssh-action@v1.0.3 | |
| with: | |
| host: ${{ secrets.VPS_HOST }} | |
| username: ${{ secrets.VPS_USERNAME }} | |
| key: ${{ secrets.VPS_SSH_KEY }} | |
| port: ${{ secrets.VPS_PORT }} | |
| script: | | |
| mkdir -p ${{ env.APP_PATH }} | |
| cd ${{ env.APP_PATH }} | |
| if [ -d "app" ]; then | |
| rm -rf app | |
| fi | |
| mkdir -p app | |
| - name: Ecrire le fichier .env | |
| uses: appleboy/ssh-action@v1.0.3 | |
| with: | |
| host: ${{ secrets.VPS_HOST }} | |
| username: ${{ secrets.VPS_USERNAME }} | |
| key: ${{ secrets.VPS_SSH_KEY }} | |
| port: ${{ secrets.VPS_PORT }} | |
| script: | | |
| cd ${{ env.APP_PATH }}/app | |
| echo "NODE_ENV=production" > .env | |
| echo "APP_NAME=${{ env.APP_NAME }}" >> .env | |
| echo "APP_PATH=${{ env.APP_PATH }}" >> .env | |
| echo "TZ=UTC" >> .env | |
| echo "PORT=3333" >> .env | |
| echo "HOST=0.0.0.0" >> .env | |
| echo "LOG_LEVEL=INFO" >> .env | |
| echo "APP_KEY=onsklvmesdlvmnrsdmvlrks" >> .env | |
| echo "SESSION_DRIVER=cookie" >> .env | |
| echo "DB_CONNECTION=mysql" >> .env | |
| echo "DB_HOST=mysql" >> .env | |
| echo "DB_PORT=3307" >> .env | |
| echo "DB_USER=root" >> .env | |
| echo "DB_PASSWORD=root" >> .env | |
| echo "DB_DATABASE=${{ env.DATABASE_NAME }}" >> .env | |
| echo "MYSQL_HOST=mysql" >> .env | |
| echo "MYSQL_PORT=3307" >> .env | |
| echo "MYSQL_USER=root" >> .env | |
| echo "MYSQL_PASSWORD=root" >> .env | |
| echo "MYSQL_DB_NAME=${{ env.DATABASE_NAME }}" >> .env | |
| echo "MYSQL_DATABASE=${{ env.DATABASE_NAME }}" >> .env | |
| echo "GITHUB_CLIENT_ID=github_client_id" >> .env | |
| echo "GITHUB_CLIENT_SECRET=github_client_secret" >> .env | |
| echo "GITHUB_CALLBACK_URL=http://0.0.0.0:3333/auth/github/callback" >> .env | |
| - name: Copier les fichiers de l'application | |
| uses: appleboy/scp-action@v0.1.7 | |
| with: | |
| host: ${{ secrets.VPS_HOST }} | |
| username: ${{ secrets.VPS_USERNAME }} | |
| key: ${{ secrets.VPS_SSH_KEY }} | |
| port: ${{ secrets.VPS_PORT }} | |
| source: "." | |
| target: "${{ env.APP_PATH }}/app" | |
| strip_components: 0 | |
| - name: Mettre à jour le docker-compose avec le nom de l'application | |
| uses: appleboy/ssh-action@v1.0.3 | |
| with: | |
| host: ${{ secrets.VPS_HOST }} | |
| username: ${{ secrets.VPS_USERNAME }} | |
| key: ${{ secrets.VPS_SSH_KEY }} | |
| port: ${{ secrets.VPS_PORT }} | |
| script: | | |
| cd "${{ env.APP_PATH }}/app" | |
| sed -i "1s/^/name: ${{ env.APP_NAME }}\n/" compose.yaml | |
| - name: Construire et démarrer les conteneurs Docker | |
| uses: appleboy/ssh-action@v1.0.3 | |
| with: | |
| host: ${{ secrets.VPS_HOST }} | |
| username: ${{ secrets.VPS_USERNAME }} | |
| key: ${{ secrets.VPS_SSH_KEY }} | |
| port: ${{ secrets.VPS_PORT }} | |
| script: | | |
| cd "${{ env.APP_PATH }}/app" | |
| docker compose -f compose.yaml down || true | |
| docker compose -f compose.yaml build --no-cache | |
| docker compose -f compose.yaml up -d | |
| docker system prune -f |