진짜 개발자
본문 바로가기

Software Engineering (총 30개)

Jenkins - AmazonLinux2 에서 Jenkins 구축 및 gitlab 연동 (push 시 자동 빌드) 이번 시간에는 AWS의 EC2에 jenkins를 설치하고 Gitlab의 hook시 자동으로 테스트 후 빌드를 하도록 CICD 환경을 구축해보도록 하겠습니다 이번 시간에는 AWS의 EC2에 jenkins를 설치하고 Gitlab의 hook시 자동으로 테스트 후 빌드를 하도록 CICD 환경을 구축해보도록 하겠습니다. 1. EC2 생성1.1 AMI와 인스턴스 유형AMI는 AMAZON Linux 2를 사용했습니다. 중요한점은 적절한 instance 유형을 선택하는 것입니다. 당연한 얘기이지만, t2.nano의 경우에는 jenkins설치는 가능하나, build시에 java의 memory부족으로 실패가 됩니다. t2.micro의 경우에는 build 및 deployment 까지는 가능하나 종종 메모리가 꽉차서 거의 운..
CI - CI/CD 구성 - 4(GitHub Push시 자동 Jenkins Build,Test,Deploy 설정) GitHub에 Code Push시 자동빌드 설정이전 작업들을 완료했으면 별다른 설정을 해주지 않아도 이미 자동 빌드 설정이 완료되어있다. 이번 포스팅에서는 GitHub Push시 WebHook를 통해 Jenkins의 Build 트리거 설정이 잘 되어있는지 확인 하도록 하겠다. 개발 환경xOS : Window 10​IDE : Intelli J​JDK : 1.8 GitHub WebHook 설정 확인 Jenkins와 연동된 프로젝트를 선택한 후 Settings 탭을 클릭한다. 좌측의 Integrations & services 탭을 클릭한다. 원래는 이곳에서 Jenkins와의 연동 설정을 진행해야 했지만 그림과 같이 deprecated 되었음을 알 수 있다 좌측의 Webhooks 탭을 클릭한다. 이전 포스팅에서..
CI/CD - CI/CD 란? CI란?CI 시스템을 구축하지 않고 개발을 진행하는 경우에 각 팀의 개발자들이 개발한 소스코드들을 형상관리 서버(GIT) 에 커밋한다면 각 개발의 결과가 품질관리를 거치지 않고, 대부분 개발이 끝난 막바지에 통합을 하여 테스트를 진행하게 된다 이럴 경우, 개발 중 별도의 품질관리를 하지 않았기 때문에 잘못된 소스코드를 형상관리 시스템에 반영하였을 경우 발생되는 문제가 개발 후반에 모두 장애로 발견된다. 반면 CI 시스템을 구축하게 되면, CI 서버는 리포지토리 서버(Git 등)에 Commit된 소스코드를 주기적으로 폴링하여 컴파일, 단위테스트, 코드 인스펙션 등의 과정을 수행하며 신규 또는 수정된 소스코드가 결함이 있는지 여부를 지속적으로 검증한다 검증 결과는 이메일 RSS등의 피드백 메커니즘을 통해 개..
Design Pattern - MVC 패턴이란 MVC 패턴이란Model , View, Controller의 약자기존의 어플리케이션을 만들기위한 코드를 3가지 구성(Model, View, Controller)으로 나누어 개발과 유지보수의 편리함을 위한 디자인 패턴 왜 MVC로 나누나?하나의 어플리케이션을 만들기위한 코드가 모두 한곳에 모여있다고 한다면 디자이너가 어플리케이션의 디자인을 바꾸기 위해서 코드의 디자인 부분과 제어를 위한 부분을 모두 살펴보고 그것에 대해 모든 지식이 있어야 필요한 부분만을 바꿀 수 있고 문제를 발생 시키지 않을 것이다 또한 개발자도 제어를 위한 부분을 수정하기위해 어플리케이션을 보더라도 디자인을 위한 코드와 제어를 위한 코드를 구분할 줄 알아야한다 반대로 제어를 위한 코드, 뷰를 위한 코드, 데이터 제어를 위한 코드, 를 ..