chore: clean publish artifacts and add sources
This commit is contained in:
119
rebuild-and-deploy.sh
Executable file
119
rebuild-and-deploy.sh
Executable file
@@ -0,0 +1,119 @@
|
||||
#!/bin/bash
|
||||
|
||||
# SkyArtShop - Rebuild and Deploy Script
|
||||
# Run this script after making changes to your code
|
||||
|
||||
set -e # Exit on error
|
||||
|
||||
echo "========================================"
|
||||
echo " SkyArtShop - Rebuild & Deploy"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
|
||||
# Colors
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
|
||||
# Change to project directory
|
||||
cd /var/www/SkyArtShop
|
||||
|
||||
# Step 1: Build
|
||||
echo -e "${YELLOW}[1/5] Building application...${NC}"
|
||||
dotnet build SkyArtShop.csproj -c Release
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ Build successful${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Build failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Step 2: Clean and Publish
|
||||
echo -e "${YELLOW}[2/5] Cleaning old publish directory...${NC}"
|
||||
rm -rf ./publish_temp
|
||||
mkdir -p ./publish_temp
|
||||
|
||||
echo -e "${YELLOW}[2/5] Publishing to ./publish_temp...${NC}"
|
||||
dotnet publish SkyArtShop.csproj -c Release -o ./publish_temp --no-build
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ Publish successful${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Publish failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Step 3: Stop service and swap directories
|
||||
echo -e "${YELLOW}[3/5] Stopping application...${NC}"
|
||||
sudo systemctl stop skyartshop
|
||||
sleep 1
|
||||
|
||||
echo -e "${YELLOW}[3/5] Swapping publish directories...${NC}"
|
||||
if [ -d "./publish" ]; then
|
||||
sudo rm -rf ./publish_old
|
||||
sudo mv ./publish ./publish_old
|
||||
fi
|
||||
mv ./publish_temp ./publish
|
||||
|
||||
echo -e "${YELLOW}[3/5] Setting permissions...${NC}"
|
||||
sudo chown -R www-data:www-data ./publish
|
||||
sudo chmod +x ./publish/SkyArtShop.dll
|
||||
echo -e "${GREEN}✓ Permissions set${NC}"
|
||||
echo ""
|
||||
|
||||
# Step 4: Restart services
|
||||
echo -e "${YELLOW}[4/5] Restarting services...${NC}"
|
||||
sudo systemctl restart skyartshop
|
||||
echo " Waiting for application to start..."
|
||||
sleep 5
|
||||
|
||||
if systemctl is-active --quiet skyartshop; then
|
||||
echo -e "${GREEN}✓ Application restarted${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Application failed to start${NC}"
|
||||
echo "Check logs: sudo journalctl -u skyartshop.service -n 50"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Step 5: Verify
|
||||
echo -e "${YELLOW}[5/5] Verifying deployment...${NC}"
|
||||
echo " Waiting for application to be ready..."
|
||||
sleep 3
|
||||
|
||||
# Test website
|
||||
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost 2>/dev/null)
|
||||
if [ "$HTTP_CODE" = "200" ]; then
|
||||
echo -e "${GREEN}✓ Website responding (HTTP $HTTP_CODE)${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Website not responding (HTTP $HTTP_CODE)${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test CSS
|
||||
CSS_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost/assets/css/main.css 2>/dev/null)
|
||||
if [ "$CSS_CODE" = "200" ]; then
|
||||
echo -e "${GREEN}✓ CSS loading (HTTP $CSS_CODE)${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ CSS not loading (HTTP $CSS_CODE)${NC}"
|
||||
fi
|
||||
|
||||
# Test JS
|
||||
JS_CODE=$(curl -s -o /dev/null -w "%{http_code}" http://localhost/assets/js/main.js 2>/dev/null)
|
||||
if [ "$JS_CODE" = "200" ]; then
|
||||
echo -e "${GREEN}✓ JavaScript loading (HTTP $JS_CODE)${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ JavaScript not loading (HTTP $JS_CODE)${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo -e "${GREEN}✓ Deployment Complete!${NC}"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
echo "Website: http://localhost"
|
||||
echo "Domain: http://skyarts.ddns.net"
|
||||
echo ""
|
||||
echo "To view logs: sudo journalctl -u skyartshop.service -f"
|
||||
Reference in New Issue
Block a user