代码:
#!/bin/bash
# Author: H0llyW00dzZ
# Script: One-Api Local Builder
# License: MIT
# Exit script if any command fails
set -e
# Function to handle errors
error_exit()
{
echo "Error: $1" 1>&2
exit 1
}
# Export the SQL DSN environment variable
# Changed this for SQL Server
export SQL_DSN="root:password@tcp(k8s.clusters.example.com:port)/dbname"
# Build the frontend
echo "Building the frontend..."
cd web || error_exit "Unable to enter 'web' directory."
# Check if npm is installed
if ! command -v npm &> /dev/null; then
error_exit "npm could not be found. Please install it to continue."
fi
npm install || error_exit "npm install failed."
npm run build || error_exit "npm run build failed."
# Build the backend
echo "Building the backend..."
cd .. || error_exit "Unable to return to the project root directory."
# Check if Go is installed
if ! command -v go &> /dev/null; then
error_exit "Go could not be found. Please install it to continue."
fi
go mod download || error_exit "go mod download failed."
go build -ldflags "-s -w" -o one-api || error_exit "go build failed."
# Set execute permission on the binary and run it
chmod u+x one-api
./one-api --port 3000 --log-dir ./logs || error_exit "Failed to start one-api."
echo "Build and launch process completed successfully."
1条答案
按热度按时间b5buobof1#
注意:
这个bash脚本包含自动运行功能,所以当按下CTRL+C(退出命令)时,它也会关闭本地服务器。