name: roulette on: ['push'] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v3 - name: Setup Node uses: actions/setup-node@v3 - name: Install dependencies uses: bahmutov/npm-install@v1 - name: Build project run: npm run build - name: Upload production-ready build files uses: actions/upload-artifact@v3 with: name: production-files path: ./dist deploy: name: Deploy needs: build runs-on: ubuntu-latest steps: - name: Download artifact uses: actions/download-artifact@v3 with: name: production-files path: ./dist # On regarde si les fichiers sont là - name: List files run: ls -l ./dist # On installe Rsync - name: Install Rsync run: apt-get install rsync -y # On ajoute la clé SSH - name: Add SSH key run: echo "$DEPLOY_KEY" > $HOME/.ssh/test_private_key && chmod 600 $HOME/.ssh/test_private_key # On utilise Rsync pour copier les fichiers (On fait en sorte de supprimer les ancien fichiers) - name: Deploy files run: rsync -av -e "ssh -i $HOME/.ssh/test_private_key" --delete ./dist/ $DEPLOY_URL # On supprime la clé SSH - name: Remove SSH key run: rm $HOME/.ssh/test_private_key variables: DEPLOY_URL: ${{ secrets.DEPLOY_URL }} DEPLOY_KEY: ${{ secrets.DEPLOY_KEY }}