현재 다니고 있는 회사의 전체 개발팀에 CI/CD가 구축되어 있지 않습니다. 진행중인 SI 프로젝트에서는 고객사의 인프라 팀이 Jenkins와 AWS를 활용해 배포 시스템을 구축해주어 배포를 편리하게 진행할 수 있었습니다. 그러나 내부 프로젝트는 FTP를 통해 JAR 파일을 수동으로 업로드하고, 쉘 스크립트로 애플리케이션의 시작, 정지, 재시작 과정으로 배포를 하고 있습니다. 개발 과정에서 빈번한 수정으로 인해 주기적인 배포가 필요했습니다. 이를 위해 아직 커밋하지 않은 코드는 stash에 저장한 뒤, 수동으로 JAR 파일을 빌드하고 배포하는 작업을 최소화하기 위해 CI/CD 시스템 구축을 추진하였습니다. 내부 프로젝트는 IDC 서버를 사용중이었습니다. 제한사항은 다른 고객사에서 임대한 서버를 사용하고 ..
사전준비 해당 서버에 톰캣 세팅 젠킨스 개인키,공개키 생성 후 등록 젠킨스 기본구조는 이대로 ㄱㄱ https://tecoble.techcourse.co.kr/post/2021-10-10-jenkins/ CI/CD가 뭔가요? 실전편 지난번 CI/CD가 뭔가요? - 이론편에서 CI/CD에 대해서 알아보았다. 이번 글에서는 jenkins를 이용해 하나의 CI/CD… tecoble.techcourse.co.kr 나만의 맞춤 - 빌드 성공 후 굳이 실행시킬 필요 없어서 script 빈칸 - 만약 도커를 쓴다면 도커허브에 war파일을 push 반드시 Test Configuration을 눌러 연결성공여부도 확인하자 - gcp를 쓰기 때문에 Hostname에 내부 IP를 적음 - remote directory : 젠킨..
1. 권한 에러 => 프로젝트 폴더의 소유자는 Jenkins가 인스턴스에 원격으로 SSH하는 데 사용하는 소유자와 동일해야 합니다. sudo chown -R 계정명:계정명 (폴더명) sudo chown -R apple64222:apple64222 demo https://codechacha.com/ko/linux-chown/ Linux - chown 명령어로 소유자 변경하는 방법 chown 명령어는 파일의 Owner 또는 Group을 변경하는 명령어입니다. 재귀적으로(Resursive) 하위 폴더 소유자 모두 변경하려면 chown 명령어에 -R 옵션을 주면 됩니다. 예제를 통해 사용방법을 자세히 알 codechacha.com https://www.codenong.com/53008293/ jenkins:发布..
젠킨스 서버 접속 후 원하는 파일 업로드 아래 경로로 가면 Item종류가 있다. 원하는 Item이름에 들어가서 경로를 확인해준다. /var/lib/jenkins/workspace/{Item이름}/{업로드한 파일을 놓을 경로..} 필자는 aws-s3.yml 정보를 깃허브에 푸시를 하지않고 서버에 직접 업로드 mv aws-s3.yml /var/lib/jenkins/workspace/realworld/module-api/src/main/resources 젠킨스 대시보드 -> 작업공간확인결과 잘 올라감 https://more-learn.tistory.com/26?category=796361 Github + Jenkins + Docker로 빌드 / 배포 자동화 저번에 Github에 Commit을 하면 Jenkin..
본편 원래는 아래와 같은 구성 으로 할려고 했지만 dockerhub의 automated build 버전이 유료라서 단념하게 되었다. 그래서 아래와 같이 구성할 생각이다. github master 계정에 push → Jenkins에서 github에 올라와있는 springboot 프로젝트를 가져와서 빌드 → jenkins 컨테이너에서 이미지로 빌드해서 도커 hub에 push → 메인 서버에서는 도커 hub에서 docker image를 받아서 컨테이너 실행 우선 깃허브와 젠킨스를 연동하는 방법은 https://velog.io/@sa1341/Jenkins-SSH%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-GitHub-%EC%97%B0%EB%8F%99%EB%B0%A9%EB%B2%95-9nj..
젠킨스에서 개인키와 공개키 쌍을 만들어서, 공개키를 워커 인스턴스에 등록해주면 이후 젠킨스에서만 워커에 ssh로 접속 가능 젠킨스에서 공개키,개인키 생성 ssh-keygen -t rsa -b 4096 -m PEM Your public key has been saved in {경로} 확인되는 {경로}에서 생성된 키 확인 가능 .pub 붙은게 공개키 안붙은게 개인키 공개키를 워커 인스턴스에 등록해야됨 첫번째 방법 워커 인스턴스 서버의(root 계정 X, 일반 계정) , root계정 테스트중 일반계정 vi /home/{유저명폴더}/.ssh/authorized_keys root계정 vi /root/.ssh/authorized_keys 경로에 직접 넣기 / 파일의 맨밑에 생성한 공개키 넣기 ※ 주의할 것 : 띄어..
환경 구성 centos7 : centos8로 시도시 일부 문제발생 GCP 인스턴스 3개 jenkins : 젠킨스 설치 인스턴스 / 최소 권장 사양 : CPU 2코어, 램 4G worker1 : 실제 웹 어플리케이션을 실행할 인스턴스 worker2 : 실제 웹 어플리케이션을 실행할 인스턴스 GCP 방화벽 추가 젠킨스, worker1 포트 관련 방화벽 추가 젠킨스 서버 && worker1~2 실행 명령어 sudo yum update # docker sudo yum install docker sudo systemctl start docker sudo chmod 666 /var/run/docker.sock docker login > 도커허브 계정 ID/PW 입력 후 Success 문구 확인 # JDK sudo ..