배포하는 과정에서 application.yml을 포함해 secret 파일들의 값들을 설정해줘야 했다. 젠킨스 파이프라인을 이용해서 secret 파일의 변수들을 sed 명령어를 이용해 치환해서 적용을 시켜주었다. jwt: secret: jwt_secret # secret haebang: secret: key: haebang_secretkey # secret spring: sql: init: mode: never data-locations: classpath:data.sql datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://datasource_url?createDatabaseIfNotExist=true&useUnicode= t..
도커 컨테이너로 redis를 실행하던 도중 배포를 할때마다 redis에 있는 저장된 데이터도 같이 삭제되는 문제가 발생했다. 여러 이유중 하나는 redis-cli를 설정할때, 비밀번호를 설정해주지 않았기 때문이다. # 레디스 설정 및 실행 docker run -v /path/on/host:/data \ --name my-redis \ -p 6379:6379 \ -d redis:latest redis-server --appendonly yes --requirepass '비밀번호' --requirepass [비밀번호] 명령어로 비밀번호를 설정해준다. redis server 에 접속을 해 확인을 하면 NOAUTH Authentication required. 라는 에러가 나온다. auth [비밀번호]를 입력해주..
프로젝트에서 젠킨스를 도커 컨테이너로 돌려 Dockerfile로 컨테이너 실행 시 jar파일을 실행하게 만들고, 그 Dockerfile을 이미지로 빌드 후 dockerhub쪽에 push를 하게 만들었습니다. push 된 이미지를 다시 배포용 ec2 서버에 pull 받아 도커 컨테이너로 실행하게 만들었습니다. stage('Build and Push Image') { steps { script { def imageName = 'haebang/haebang:jenkins' // Build Docker image docker.build(imageName, '-f ./Dockerfile .') // Login to DockerHub docker.withRegistry('https://registry.hub.doc..