fix(deploy): correctly copy prebuilt .next to apps/web/.next on VPS during deployment
This commit is contained in:
@@ -307,12 +307,15 @@ jobs:
|
|||||||
# Substitute from Attic cache (fast)
|
# Substitute from Attic cache (fast)
|
||||||
ssh "$VPS_USER@$VPS_HOST" \
|
ssh "$VPS_USER@$VPS_HOST" \
|
||||||
"sudo /nix/var/nix/profiles/default/bin/nix-store --realise '$STORE_PATH'"
|
"sudo /nix/var/nix/profiles/default/bin/nix-store --realise '$STORE_PATH'"
|
||||||
# Update profile + sync git repo + restart
|
# Update profile + sync git repo + sync .next + restart
|
||||||
ssh "$VPS_USER@$VPS_HOST" \
|
ssh "$VPS_USER@$VPS_HOST" \
|
||||||
"sudo /nix/var/nix/profiles/default/bin/nix-env \
|
"sudo /nix/var/nix/profiles/default/bin/nix-store --realise '$STORE_PATH' && \
|
||||||
|
sudo /nix/var/nix/profiles/default/bin/nix-env \
|
||||||
--profile /nix/var/nix/profiles/mcpedia-web \
|
--profile /nix/var/nix/profiles/mcpedia-web \
|
||||||
--set '$STORE_PATH' && \
|
--set '$STORE_PATH' && \
|
||||||
(cd /home/code/mcpedia && git fetch origin main && git reset --hard origin/main) && \
|
(cd /home/code/mcpedia && git fetch origin main && git reset --hard origin/main) && \
|
||||||
|
rm -rf /home/code/mcpedia/apps/web/.next && \
|
||||||
|
cp -r '$STORE_PATH/share/mcpedia-web/.next' /home/code/mcpedia/apps/web/.next && \
|
||||||
sudo systemctl restart mcpedia-web && \
|
sudo systemctl restart mcpedia-web && \
|
||||||
sleep 3 && \
|
sleep 3 && \
|
||||||
sudo systemctl status mcpedia-web --no-pager --no-legend | head -5"
|
sudo systemctl status mcpedia-web --no-pager --no-legend | head -5"
|
||||||
|
|||||||
@@ -3,23 +3,11 @@
|
|||||||
# so .next is built in CI via `bun run build` and packaged here.
|
# so .next is built in CI via `bun run build` and packaged here.
|
||||||
{ pkgs
|
{ pkgs
|
||||||
, stdenv
|
, stdenv
|
||||||
, writeShellScriptBin
|
|
||||||
, bun
|
, bun
|
||||||
, webNextDir
|
, webNextDir
|
||||||
, ...
|
, ...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
mcpedia-web-script = writeShellScriptBin "mcpedia-web" ''
|
|
||||||
#!${pkgs.bash}/bin/bash
|
|
||||||
export NODE_ENV=production
|
|
||||||
export PORT=4016
|
|
||||||
cd /home/code/mcpedia/apps/web
|
|
||||||
rm -f .next
|
|
||||||
ln -s "${webNextDir}" .next
|
|
||||||
exec "${bun}/bin/bun" x next start -p 4016
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "mcpedia-web";
|
pname = "mcpedia-web";
|
||||||
version = "1.0.0";
|
version = "1.0.0";
|
||||||
@@ -31,6 +19,15 @@ stdenv.mkDerivation {
|
|||||||
cp -r "${webNextDir}/." $out/share/mcpedia-web/.next/
|
cp -r "${webNextDir}/." $out/share/mcpedia-web/.next/
|
||||||
|
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp ${mcpedia-web-script}/bin/mcpedia-web $out/bin/mcpedia-web
|
cat > $out/bin/mcpedia-web <<EOF
|
||||||
|
#!${pkgs.bash}/bin/bash
|
||||||
|
export NODE_ENV=production
|
||||||
|
export PORT=4016
|
||||||
|
cd /home/code/mcpedia/apps/web
|
||||||
|
rm -rf .next
|
||||||
|
cp -r "$out/share/mcpedia-web/.next" .next
|
||||||
|
exec "${bun}/bin/bun" run --cwd apps/web start
|
||||||
|
EOF
|
||||||
|
chmod +x $out/bin/mcpedia-web
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user