Skip to content

Commit ed6ed35

Browse files
authored
tweaking (#929)
2 parents e173749 + 333f93b commit ed6ed35

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

.github/workflows/deploy-express-backend.yml

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,27 @@ jobs:
4646
- name: Build Express backend
4747
run: yarn workspace @vue-skuilder/express build
4848

49+
- name: Prepare package.json for deployment
50+
working-directory: ./packages/express
51+
run: |
52+
# Create a deployment package.json with file: references for workspace deps
53+
cat package.json | node -e "
54+
const pkg = JSON.parse(require('fs').readFileSync(0, 'utf-8'));
55+
pkg.dependencies['@vue-skuilder/common'] = 'file:./workspace/common';
56+
pkg.dependencies['@vue-skuilder/db'] = 'file:./workspace/db';
57+
console.log(JSON.stringify(pkg, null, 2));
58+
" > package.json.deploy
59+
60+
- name: Install production dependencies
61+
working-directory: ./packages/express
62+
run: |
63+
# Temporarily use the modified package.json
64+
mv package.json package.json.orig
65+
mv package.json.deploy package.json
66+
NODE_ENV=production yarn install
67+
# Restore original
68+
mv package.json.orig package.json
69+
4970
- name: Create build info
5071
run: |
5172
BUILD_INFO="Build created on $(date) from commit ${{ github.sha }}\n"
@@ -62,7 +83,8 @@ jobs:
6283
6384
echo "Syncing Express package..."
6485
rsync -rl --delete ./packages/express/dist/ ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/dist
65-
rsync -rl ./packages/express/package.json ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/
86+
rsync -rl ./packages/express/package.json.deploy ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/package.json
87+
rsync -rl ./packages/express/node_modules/ ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/node_modules
6688
rsync -rl ./packages/express/assets/ ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/assets
6789
rsync -rl ./packages/express/.env.production ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/.env.production
6890
@@ -78,14 +100,6 @@ jobs:
78100
rsync -rl --delete ./packages/db/dist/ ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/workspace/db/dist
79101
rsync -rl ./packages/db/package.json ${{ secrets.DO_USERNAME }}@eduquilt.com:/home/skuilder/dist/express-backend/$newversion/workspace/db/
80102
81-
# Create a modified package.json with file: references for workspace deps
82-
echo "Creating package.json with resolved workspace paths..."
83-
ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/express-backend/$newversion && cat package.json | jq '.dependencies[\"@vue-skuilder/common\"] = \"file:./workspace/common\" | .dependencies[\"@vue-skuilder/db\"] = \"file:./workspace/db\"' > package.json.tmp && mv package.json.tmp package.json"
84-
85-
# Install express package dependencies (this will also link the workspace packages)
86-
echo "Installing production dependencies on server..."
87-
ssh ${{ secrets.DO_USERNAME }}@eduquilt.com "cd /home/skuilder/dist/express-backend/$newversion && source ~/.nvm/nvm.sh && NODE_ENV=production yarn install --immutable"
88-
89103
echo "Setting symlink to new version..."
90104
ssh ${{ secrets.DO_USERNAME }}@eduquilt.com ln -sfn /home/skuilder/dist/express-backend/$newversion /home/skuilder/express-backend
91105
echo "Deployment complete to version $newversion"

0 commit comments

Comments
 (0)