다음 스크립트가 동작하려면 별도로 sshpass를 install해야함.
젠킨스서버, 대상 클라이언트 서버 모두 설치되어있어야함.
pipeline {
agent any
environment {
REMOTE_HOST = "[클라이언트주소]"
REMOTE_USER = "root"
REMOTE_PASS = "[비밀번호]"
GIT_REPO = "http://[깃리포지토리주소].git"
}
stages {
stage('Deploy to Rocky Linux via SSH') {
steps {
sh """
sshpass -p '$REMOTE_PASS' ssh -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST <<'EOF'
set -e
cd [패키지경로]
# Git 업데이트
git pull
# Docker 빌드 및 배포
docker build -t [패키지명]:latest .
# 기존 컨테이너 중지 및 삭제
docker stop [패키지명] || true
docker rm [패키지명] || true
cd /root
nohup bash ./run_docker.sh > /dev/null 2>&1 &
"""
}
}
}
}
'[개발관련] > 서버(리눅스 외)' 카테고리의 다른 글
[Linux] vi 편집기로 crontab 실행 (0) | 2024.08.12 |
---|---|
[mysqldump] --w 옵션 utc 이슈 (0) | 2021.10.20 |
PermissionError: [Errno 13] Permission denied (0) | 2020.11.23 |
yum update시 에러 - rpmdbNextIterator: skipping h# ... Header V3 RSA/SHA256 Signature, key ID (0) | 2020.11.17 |
Linux - 압축, 압축해제 하기 [zip, war, gz, tar, bz2, rar] (0) | 2020.07.31 |