반응형

다음 스크립트가 동작하려면 별도로 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 &

                """
            }
        }
    }
}
728x90
반응형

회사에서 젠킨스를 이용해서 자동 배포환경을 구축하는 과정에서 젠킨스에서 도커의 -it 옵션때문에 쉘스립트를 이용해서 도커를 실행하도록 작업하였습니다.
(tty에러가 나는데 그건 도커 bash는 interactive하게 클라이언트와 통신을 해야하기 때문에 발생한다고 한다.)

핵심은 -dit 옵션이고 -d옵션이 데몬을 의미하며 백그라운드로 실행되게 하는 옵션이다.

저렇게하면 도커를 실행해도 도커 내부 bash로 진입하지 않는다.

그리고 docker exec를 이용해서 도커 내부 bash에 명령어를 실행하도록 작업하여 도커 컨테이너 내부에 DB와 웹서버를 실행하도록 스크립트를 작성하였다.

#!/bin/bash

docker stop [DOCKER_NAME] 2>/dev/null
docker rm [DOCKER_NAME] 2>/dev/null

docker run -dit -p 8081:8081 -p 27017:27017 --name ds_ml -v mongodb:/data/db [DOCKER_NAME]:latest

docker exec [DOCKER_NAME] bash -c "source ~/.bashrc && conda activate myenv && mongod --bind_ip 0.0.0.0 --port 27017 --dbpath /data/db &"

docker exec [DOCKER_NAME] bash -c "source ~/.bashrc && conda activate myenv && uvicorn main:app --host 0.0.0.0 --port 8081 > /var/log/uvicorn.log 2>&1"

 

728x90
반응형

 

헬로방방 하남풍산점 방문 후기

최근에 아이와 함께 하남에 위치한 헬로방방 풍산점을 다녀왔어요! 생각보다 넓고 다양한 놀이시설이 있어서 아이와 함께 즐거운 시간을 보낼 수 있었답니다. 😊

넓고 쾌적한 실내 공간

처음 들어서자마자 가장 인상적이었던 점은 실내가 꽤 넓고 쾌적하다는 것이었어요. 아이들이 뛰어놀기에 충분한 공간이 마련되어 있어서 붐비는 느낌 없이 여유롭게 즐길 수 있었어요. 특히, 바닥이 푹신해서 안전해 보였고, 곳곳에 보호 장치도 잘 되어 있어서 안심하고 아이를 놀게 할 수 있었답니다.

아기와 함께 탈 수 있는 기차

헬로방방 하남풍산점에는 아기와 함께 탈 수 있는 기차도 있어요! 😊 혼자 타기 어려운 어린 아이들도 부모님과 함께 탈 수 있어서 너무 좋았어요. 기차가 천천히 움직여서 부담 없이 즐길 수 있었고, 아이도 너무 좋아했답니다.

인기 만점 타요버스

또한, 타요버스도 있어서 자동차를 좋아하는 아이들에게 완전 인기였어요! 아이들이 직접 타고 운전하는 느낌을 낼 수 있어서 그런지 계속해서 타고 싶어 하더라고요. 실제 버스를 축소한 듯한 디자인이라 더욱 실감 났어요!

신나게 공놀이도 가능!

헬로방방은 단순한 트램폴린 공간이 아니라 다양한 놀이 시설이 있어서 더 좋았어요. 그중에서도 공놀이 공간이 아이들에게 인기가 많았어요. 커다란 공들이 가득한 공간에서 아이들이 공을 던지고 굴리면서 신나게 뛰어놀 수 있었답니다. 친구들과 함께 공놀이를 하면서 자연스럽게 어울리는 모습도 볼 수 있어서 더욱 좋았어요.

총평

전반적으로 넓고 다양한 놀이시설 덕분에 아이와 함께 가기 좋은 곳이었어요. 아기와 함께 탈 수 있는 기차부터 타요버스, 공놀이 공간까지 있어서 아이들이 지루할 틈 없이 신나게 놀 수 있었답니다. 😊 주차도 편리하고, 실내라 날씨와 상관없이 방문할 수 있다는 점도 장점이에요. 아이와 함께 뛰어놀 공간을 찾고 있다면 헬로방방 하남풍산점을 추천합니다!

 

https://naver.me/xRhB5dz5

 

네이버 지도

헬로방방 하남풍산점

map.naver.com

 

728x90

+ Recent posts