# 시스템 업데이트
sudo apt update && sudo apt upgrade -y
# 의존성 설치
sudo apt install -y ca-certificates curl openssh-server
# GitLab 설치
sudo apt install -y gitlab-ce
# GitLab 접속 설정 변경
sudo vi /etc/gitlab/gitlab.rb
# => external_url 'http://<IP>:<PORT>'
# 설정 적용
sudo gitlab-ctl reconfigure
# 초기 root 비밀번호 확인
sudo cat /etc/gitlab/initial_root_password
GitLab Admin Area > Settings > Metrics and profiling > Usage statistics > "Enable version check" 비활성화
예시:
#!/bin/bash
MODULE_NAME="bizcof-mes-app"
APP_DIR="/app/$MODULE_NAME"
JAR_NAME="$MODULE_NAME-0.0.1-SNAPSHOT.jar"
BACKUP_DIR="$APP_DIR/backups"
LOG_DIR="$APP_DIR/logs"
DATE=$(date +"%Y-%m-%d")
BACKUP_PATH="$BACKUP_DIR/$JAR_NAME-$DATE"
PID_FILE="$APP_DIR/$MODULE_NAME.pid"
mkdir -p $BACKUP_DIR $LOG_DIR
if [ -f "$APP_DIR/$JAR_NAME" ]; then
cp "$APP_DIR/$JAR_NAME" "$BACKUP_PATH"
fi
pkill -f "java -jar $APP_DIR/$JAR_NAME"
sleep 5
lsof -Pi :20011 -sTCP:LISTEN -t && pkill -9 -f "java -jar $APP_DIR/$JAR_NAME"
nohup java -Dspring.profiles.active=develop -Dspring.pid.file=$PID_FILE -jar "$APP_DIR/$JAR_NAME" >> "$LOG_DIR/$MODULE_NAME.log" 2>&1 &
echo $! > $PID_FILE
서비스 유닛 파일 예시:
[Unit]
Description=BIZCOF-MES Application
After=network.target
[Service]
Type=forking
WorkingDirectory=/app/servers/bizcof-mes-app/
ExecStart=/app/servers/bizcof-mes-app/deploy.sh daemon
User=gitlab-runner
Group=gitlab-runner
PIDFile=/app/servers/bizcof-mes-app/bizcof-mes-app.pid
Restart=on-failure
TimeoutSec=60
[Install]
WantedBy=multi-user.target
등록:
sudo ln -s /app/servers/bizcof-mes-app/bizcof-mes-app.service /etc/systemd/system/bizcof-mes-app.service
sudo systemctl daemon-reload
sudo mkdir -p /opt/temurin17 && cd /opt/temurin17
sudo wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.10%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz
sudo tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz
sudo mv jdk-17.0.10+7 jdk-17
@EventListener 완벽 가이드 (0) | 2025.06.03 |
---|---|
Liquibase로 DB 변경 이력 관리하기 (0) | 2025.06.02 |
[Spring & Swagger] Failed to load API definition. (0) | 2025.05.21 |
[JPA] - 영속성 컨텍스트에 대해 (0) | 2024.12.17 |
[Spring Framework] - 제어의 역전 (IoC), 의존성 주입(DI) 과 OCP, DIP (0) | 2024.12.17 |