From 1fb030b289003a1f51c4f6d984ada660387cf63b Mon Sep 17 00:00:00 2001 From: Cameron Green Date: Sun, 24 Nov 2024 15:25:13 -0500 Subject: [PATCH 1/2] Optimize build script for Issue #62 --- .github/workflows/frontend.yml | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index cdda165..847c49f 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -26,14 +26,32 @@ jobs: env: CI: false run: cd Frontend && npm run build # This makes sure the build succeeds before running it on the production server + + # Compress the build folder + - name: Archive build folder + run: tar -czf build.tar.gz build/ - name: Install SSH Keys run: | install -m 600 -D /dev/null ~/.ssh/id_rsa echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa ssh-keyscan -H ${{ secrets.SSH_HOST }} > ~/.ssh/known_hosts - - - name: Connect to server and pull - run: ssh ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd ${{ secrets.WORK_DIR }} && git checkout development && git pull origin development && cd /var/www/SpeedCart/Frontend && ./build.sh" - - name: Cleanup - run: rm -rf ~/.ssh + + # Transfer the build to the server + - name: Upload build to server + env: + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + run: | + echo "$SSH_PRIVATE_KEY" > private_key + chmod 600 private_key + scp -i private_key build.tar.gz ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.WORK_DIR }}/Frontend + + # Deploy on the server + - name: Deploy build on server + env: + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + run: | + ssh -i private_key ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'EOF' + cd ${{ secrets.WORK_DIR }}/Frontend + tar -xzf build.tar.gz + rm -f build.tar.gz \ No newline at end of file From eb71d766ec4cda92c5182e4fac9b23ab36bb459a Mon Sep 17 00:00:00 2001 From: Cameron Green Date: Sun, 24 Nov 2024 15:43:26 -0500 Subject: [PATCH 2/2] Remove unnecessary copy of ssh keys --- .github/workflows/frontend.yml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index 847c49f..a092e26 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -31,7 +31,7 @@ jobs: - name: Archive build folder run: tar -czf build.tar.gz build/ - - name: Install SSH Keys + - name: Install SSH Key and Configure Access run: | install -m 600 -D /dev/null ~/.ssh/id_rsa echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa @@ -39,19 +39,13 @@ jobs: # Transfer the build to the server - name: Upload build to server - env: - SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} run: | - echo "$SSH_PRIVATE_KEY" > private_key - chmod 600 private_key - scp -i private_key build.tar.gz ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.WORK_DIR }}/Frontend - + scp -i ~/.ssh/id_rsa build.tar.gz ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.WORK_DIR }}/Frontend + # Deploy on the server - name: Deploy build on server - env: - SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} run: | - ssh -i private_key ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'EOF' + ssh -i ~/.ssh/id_rsa ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} << 'EOF' cd ${{ secrets.WORK_DIR }}/Frontend tar -xzf build.tar.gz rm -f build.tar.gz \ No newline at end of file