본문 바로가기

Devops

(6)
gitHub & Jenkins CI/CD 적용 (4/4) 이전 포스팅에서 진행했던 마지막 CI/CD 배포를 진행할 예정입니다.  필자 경 Pipeline script를 작성하여 배포를 진행하였습니다. 작성 배포 스크립트 포맷pipeline { agent any tools { gradle 'gradle-8.7' } environment { DCOKER_IMAGE_NAME = ""; } stages { stage('git pull') { environment { REPOSITORY_URL = "" } steps { git branch: 'main', url: "${REPOSITORY_URL}"..
gitHub & Jenkins CI/CD 적용 (3/4) 이번 포스팅은 간단한 프로젝트를 gitHub & 젠킨슨 파이프라인을 만들어 빌드 진행 예정입니다. 이전 포스팅을 진행할 때는 로컬 환경에서 Jenkins를 구성하였는데 그렇게 되면 github webhook을 이용하는데 제한이 생겨서 클라우드 환경으로 옮겨서 진행을 했다.  Github WebHookgithub webhook 설정 페이지 들어가서 url을 설정해 줬다. 아래와 같이 기본 URL을 설정해 주었고 각 환경에 맞는 host, port를 적용해 주면 된다.http://{host}:{port}/github-webhook/ 추가적으로 클라우드 환경에서 방화벽 허용을 진행하기 위하여 github webhook ip를 허용 진행했다.140.82.112.0/20  Docker 환경 Jenkins 설치※ ..
gitHub & Jenkins CI/CD 적용 (2/4) 이번 포스팅은 간단한 프로젝트를 gitHub & 젠킨슨까지 빌드를 진행해 볼 예정입니다. Github 계정 설정※ Private 저장소가 아니라 Public 저장소를 사용하면 해당 단계는 Skip해도 무방하다. 1. Github 계정 로그인 후 Settings 페이지로 이동하니다. 2. Settings페이지에서 Developer settings를 클릭해줍니다. 3. Personal access tokens를 클릭한 이후 토큰 생성 버튼을 클릭해 줍니다. 4. 아래와 같이 토큰 명과 scope를 설정하고 토큰 생성 버튼을 클릭해 줍니다. 5. 아래와 같이 발급된 access token을 저장해 줍니다. Jenkins & Github 연동1. 젠킨스 메인 페이지에 접근하여 Jenkins 관리 > 시스템을 클..
gitHub & Jenkins CI/CD 적용 (1/4) 프로젝트 진행 전에 github과 Jenkins 연동을 통하여 CI/CD를 구축하려 한다.  Jenkins 란?Jenkins는 지속적인 통합과 배포를 도와주는 Java로 제작된 오픈 소스 툴이다. Java Runtime Environment에서 동작다양한 플러그인을 통하여 자동화 작업 처리를 지원한다.일련의 자동화 작업의 순서들을 파이프라인을 통해 CI/CD 진행할 수 있게 구축할 수 있다. Jenkins 대표 플러그인Credentials PluginsJenkins는 단지 서버로 배포에 필요한 각종 리소스에 접근하기 위해서는 여러 중요 정보를 저장할 필요가 있다.클라우드 리소스 혹은 베이메탈에 대한 ssh 접근 등을 의미하며, git access token, secret key, ssh 등의 정보를 저장..
Docker Hub Image 배포 스크립트 Docker Hub에 있는 Image를 읽어 배포하는 스크립트를 만들어보았다. 필자는 AWS EC2를 사용하고 있었으나 메모리용량, 디스크 용량에 증가에 따른 가격 상승이 굉장히 높아서 다른 Iaas로 옮기는것을 선택하게되었다.Docker 허브 이미지 배포방식을 통하여 좀다 빠르게 다른 환경으로 이식할 수있어 굉장히 편리했다.   https://daliy-dev.tistory.com/51 GitHub를 이용한 CI (docker Hub)CI란? CI는 Contious Integration으로 지속적인 통합이라 할 수 있다. 개발팀이 정기적으로 코드 변경사항을 구현하고 테스트 한 후, 공유 버전 관리 레포지토리에 병합하는 방식을 말한다. 자동화 된daliy-dev.tistory.com이전 포스팅에서 등록했..
GitHub를 이용한 CI (docker Hub) CI란?CI는 Contious Integration으로 지속적인 통합이라 할 수 있다. 개발팀이 정기적으로 코드 변경사항을 구현하고 테스트 한 후, 공유 버전 관리 레포지토리에 병합하는 방식을 말한다. 자동화 된 빌드에 의해 이런 `체크인`이 인증되므로 코드와 관련된 모든 문제를 신속하게 파악하고 해결 할 수 있다. CI를 사용하면 개발자 팀 사이에 충돌 없이 동일한 앱을 동시에 작업 할 수있다.  사용 툴GithubDockerspring boot 차례spring boot 프로젝트 구조Github actions 스크립트 파일Dockerfile 파일Gitlab CI 확인  Spring Boot 프로젝트 구조 메이븐을 통한 멀티 모듈 구조로 프로젝트 구성을 만들었다. web-api: spring boot 메..