92 lines
2.4 KiB
Bash
Executable File
92 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# ファイルフルパス
|
|
INITIAL_DIR=$(pwd)
|
|
LOG_FILE="$INITIAL_DIR/logfile.log"
|
|
ODMS_CLOUD_DIR="../"
|
|
ENV_FILE_PATH="../.env"
|
|
CLIENT_ENV_FILE="../dictation_client/.env.local"
|
|
SERVER_ENV_FILE="../dictation_server/.env.local"
|
|
|
|
# ログ関数
|
|
log_message() {
|
|
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
|
|
}
|
|
|
|
# コマンド存在確認
|
|
check_command() {
|
|
command -v "$1" >/dev/null 2>&1
|
|
}
|
|
|
|
# Docker確認
|
|
check_docker_version() {
|
|
DOCKER_VERSION=$(docker --version 2>/dev/null | grep -o '[0-9.]*' | head -1)
|
|
if [[ -z "$DOCKER_VERSION" ]]; then
|
|
log_message "ERROR: Docker is not installed or not available in PATH."
|
|
return 1
|
|
else
|
|
log_message "Docker version $DOCKER_VERSION is available."
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
# Dev Container CLI 確認
|
|
check_devcontainer_cli() {
|
|
if check_command "devcontainer"; then
|
|
log_message "Dev Container CLI is available."
|
|
return 0
|
|
else
|
|
log_message "ERROR: Dev Container CLI is not installed."
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# logfile.log が存在しないとき作成
|
|
touch logfile.log
|
|
# スクリプト実行に必要なパッケージ確認
|
|
log_message "Starting dependency check..."
|
|
|
|
if ! check_docker_version; then
|
|
log_message "Dependency check failed: Docker is required."
|
|
exit 1
|
|
fi
|
|
|
|
if ! check_devcontainer_cli; then
|
|
log_message "Dependency check failed: Dev Container CLI is required."
|
|
exit 1
|
|
fi
|
|
|
|
log_message "All dependencies are met. Proceeding with the script..."
|
|
|
|
# .envファイル確認
|
|
if [ -f "$ENV_FILE_PATH" ]; then
|
|
log_message ".env file found at $ENV_FILE_PATH"
|
|
else
|
|
log_message "ERROR: .env file not found at $ENV_FILE_PATH"
|
|
exit 1
|
|
fi
|
|
|
|
# clientの.env.localファイル確認
|
|
if [ -f "$CLIENT_ENV_FILE" ]; then
|
|
log_message ".env.local file found in dictation_client."
|
|
else
|
|
log_message "ERROR: .env.local file missing in dictation_client."
|
|
exit 1
|
|
fi
|
|
|
|
# serverの.env.localファイル確認
|
|
if [ -f "$SERVER_ENV_FILE" ]; then
|
|
log_message ".env.local file found in dictation_server."
|
|
else
|
|
log_message "ERROR: .env.local file missing in dictation_server."
|
|
exit 1
|
|
fi
|
|
|
|
log_message "All required .env files are present."
|
|
|
|
# 1: dictation_client に Dev Container 起動, ローカル用サイトビルドする
|
|
sh ./buildclient.sh
|
|
|
|
# 2: dictation_server に Dev Container 起動, ローカル用のサーバー起動する
|
|
sh ./runserver.sh
|