From 9ddcf07d7c7c199b064b3e8853756d1cbf2e14fb Mon Sep 17 00:00:00 2001 From: rahy2k <107999008+rahy2k@users.noreply.github.com> Date: Wed, 26 Aug 2026 19:47:15 +0530 Subject: [PATCH 1/4] Create package.json --- package.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 package.json diff --git a/package.json b/package.json new file mode 100644 index 000000000..ba9b23156 --- /dev/null +++ b/package.json @@ -0,0 +1,11 @@ +{ + "name": "nodejs-website", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "start": "node index.js" + }, + "dependencies": { + "express": "^4.19.2" + } +} From 48ab3c9a1ed8235f03df58b06a23d559c15262de Mon Sep 17 00:00:00 2001 From: vboxuser Date: Thu, 27 Aug 2026 15:10:24 +0530 Subject: [PATCH 2/4] 1st commit github main --- .github/workflows/deploy.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..03022dd2b --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,26 @@ +name: Deploy Website + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Deploy files + uses: appleboy/ssh-action@v1.2.0 + with: + host: ${{ secrets.SERVER_HOST }} + username: ${{ secrets.SERVER_USER }} + key: ${{ secrets.SERVER_SSH_KEY }} + port: 22 + script: | + sudo rsync -av --delete ./ /var/www/html/ + sudo chown -R www-data:www-data /var/www/html + sudo systemctl restart apache2 From b9d4f1a9b21547593660eeccbd1987f7680c5791 Mon Sep 17 00:00:00 2001 From: rahy2k <107999008+rahy2k@users.noreply.github.com> Date: Thu, 27 Aug 2026 15:37:11 +0530 Subject: [PATCH 3/4] Update deploy.yml --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 03022dd2b..589a5487e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -7,7 +7,7 @@ on: jobs: deploy: - runs-on: ubuntu-latest + runs-on: ['self-hosted', 'Linux', 'X64'] steps: - name: Checkout code From 8d9b45583eb14756ffe37b98168c995bd6c6c58b Mon Sep 17 00:00:00 2001 From: vboxuser Date: Thu, 27 Aug 2026 17:32:40 +0530 Subject: [PATCH 4/4] 3rd workflow push --- .github/workflows/deploy.yml | 59 +++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 14 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 589a5487e..1ecdcbd6b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy Website +name: Deploy Application on: push: @@ -7,20 +7,51 @@ on: jobs: deploy: - runs-on: ['self-hosted', 'Linux', 'X64'] + runs-on: self-hosted steps: - - name: Checkout code + - name: Checkout GitHub repository uses: actions/checkout@v4 - - name: Deploy files - uses: appleboy/ssh-action@v1.2.0 - with: - host: ${{ secrets.SERVER_HOST }} - username: ${{ secrets.SERVER_USER }} - key: ${{ secrets.SERVER_SSH_KEY }} - port: 22 - script: | - sudo rsync -av --delete ./ /var/www/html/ - sudo chown -R www-data:www-data /var/www/html - sudo systemctl restart apache2 + - name: Test SSH connection to Code VM + env: + SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }} + run: | + mkdir -p ~/.ssh + chmod 700 ~/.ssh + + echo "$SSH_PRIVATE_KEY" > ~/.ssh/deploy_key + chmod 600 ~/.ssh/deploy_key + + ssh-keyscan -H 192.168.1.104 >> ~/.ssh/known_hosts + + ssh -i ~/.ssh/deploy_key \ + vboxuser@192.168.1.104 \ + "hostname && echo SSH connection successful" + + - name: Deploy code to Code VM + env: + SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }} + run: | + mkdir -p ~/.ssh + chmod 700 ~/.ssh + + echo "$SSH_PRIVATE_KEY" > ~/.ssh/deploy_key + chmod 600 ~/.ssh/deploy_key + + ssh-keyscan -H 192.168.1.104 >> ~/.ssh/known_hosts + + rsync -avz --delete \ + -e "ssh -i ~/.ssh/deploy_key" \ + ./ \ + vboxuser@192.168.1.104:/opt/my-app/ + + - name: Verify deployment + env: + SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }} + run: | + ssh -i ~/.ssh/deploy_key \ + vboxuser@192.168.1.104 \ + "ls -la /opt/my-app" +``` +