name: Build and Deploy Angular App on: pull_request: push: branches: [master, 'release/*'] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '18' - name: Install dependencies run: npm install - name: Build Angular app run: npm run build -- --prod - name: Start ssh-agent id: ssh-agent uses: webfactory/ssh-agent@v0.9.0 with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} ssh-passphrase: ${{ secrets.SSH_PASSPHRASE }} - name: Deploy to Server env: SSH_HOST: ${{ secrets.SSH_HOST }} SSH_USER: ${{ secrets.SSH_USER }} TARGET_DIR: ${{ secrets.TARGET_DIR }} run: | mkdir -p ~/.ssh ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts scp -r ./dist/frontend/* $SSH_USER@$SSH_HOST:$TARGET_DIR ssh $SSH_USER@$SSH_HOST "sudo chown -R www-data:www-data $TARGET_DIR"