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 10IDE : Intelli JJDK : 1.8 GitHub WebHook 설정 확인 Jenkins와 연동된 프로젝트를 선택한 후 Settings 탭을 클릭한다. 좌측의 Integrations & services 탭을 클릭한다. 원래는 이곳에서 Jenkins와의 연동 설정을 진행해야 했지만 그림과 같이 deprecated 되었음을 알 수 있다 좌측의 Webhooks 탭을 클릭한다. 이전 포스팅에서.. CI - CI/CD 구성 - 3 (Jenkins GitHub 연동) Jenkins & Github 연동 Jenkins & Github 연동 GitHub Access Token 발급 github에 로그인 한 후 Profile을 클릭하여 나오는 Settings 메뉴를 클릭한다 좌측 하단의 Developer settings탭을 클릭한다 좌측의 Personal access tokens 탭을 클릭한 뒤 Generate new token을 클릭한다. Token description에 설명을 기입한 후 Jenkins에서 필요로하는 권한 Scope를 지정한다 생성이 완료되면 token 값이 생성되는데 이 때 저장해놓지 않는다면 다시 token 값을 확인할 수 없다 Access Token을 이용해 Jenkins에 GitHub 연결Jenkins 관리 탭의 시스템 설정을 클릭한다 GitHu.. CI - CI/CD 구성 - 2 (Jenkins 환경 설정 JDK, Git, Gradle) Jenkins 사용법 JDK, Git, Gradle 설정좌측의 Jenkins 관리 탭을 클릭한 뒤 Global Tool Configuration 을 클릭한다 JDKJDK 탭의 Install automatically 를 클릭하여 해제하면 직접 설치한 JAVA_HOME 경로를 지정할 수 있다. JDK의 경로를 잘못지정하면 바로 하단에 별도로 경고 메시지가 나타난다. 별도의 메시지가 나타나지 않은 경우 경로 설정이 잘된것이다. JDK 경로 확인echo $JAVA_HOME 명령어를 입력하여 확인하면 java 명령어가 설치된 경로가 나타나는데 그 경로의 bin디렉토리 전까지가 JDK의 경로이다. Git git 설치 yum install -y git git 경로 확인 which git git 이 설치된 경로를 지정.. CI - CI/CD 구성 - 1 (Jenkins 설치) CentOS7 Jenkins 설치 사전조건JDK Github 계정Github 프로젝트 설치yum repository settingxxxxxxxxxx# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key Jenkins 설치xxxxxxxxxx# yum install -y jenkins Port 지정xxxxxxxxxxvi /etc/sysconfig/jenkins## Type: integer(0:65535)## Default: 8080## ServiceRestart: jenkins## Port J.. CI/CD - CI/CD 란? CI란?CI 시스템을 구축하지 않고 개발을 진행하는 경우에 각 팀의 개발자들이 개발한 소스코드들을 형상관리 서버(GIT) 에 커밋한다면 각 개발의 결과가 품질관리를 거치지 않고, 대부분 개발이 끝난 막바지에 통합을 하여 테스트를 진행하게 된다 이럴 경우, 개발 중 별도의 품질관리를 하지 않았기 때문에 잘못된 소스코드를 형상관리 시스템에 반영하였을 경우 발생되는 문제가 개발 후반에 모두 장애로 발견된다. 반면 CI 시스템을 구축하게 되면, CI 서버는 리포지토리 서버(Git 등)에 Commit된 소스코드를 주기적으로 폴링하여 컴파일, 단위테스트, 코드 인스펙션 등의 과정을 수행하며 신규 또는 수정된 소스코드가 결함이 있는지 여부를 지속적으로 검증한다 검증 결과는 이메일 RSS등의 피드백 메커니즘을 통해 개.. Gradle - Intellij Build sync fail (Invalid gradle JDK Configuration found) http://blog.saltfactory.net/setting-java-and-gradle-version-in-intellij/ Intellij Build sync fail (Invalid gradle JDK Configuration found) 에러 해결Intellij를 이용해 Gradle환경에서 개발중 배포를 위해 Build 를 하려는데 " Intellij Build sync fail (Invalid gradle JDK Configuration found) " 과 같은 에러가 나타났다프로젝트에 설정된 JDK의 문제인것 같다 해결방법1. 좌측 상단의 File 을 클릭한뒤 Project Structure를 클릭한다 2. 좌측의 Project 탭을 클릭한뒤 우측의 JDK 버젼을 맞춘다 필자의 경우 사용중.. Design Pattern - MVC 패턴이란 MVC 패턴이란Model , View, Controller의 약자기존의 어플리케이션을 만들기위한 코드를 3가지 구성(Model, View, Controller)으로 나누어 개발과 유지보수의 편리함을 위한 디자인 패턴 왜 MVC로 나누나?하나의 어플리케이션을 만들기위한 코드가 모두 한곳에 모여있다고 한다면 디자이너가 어플리케이션의 디자인을 바꾸기 위해서 코드의 디자인 부분과 제어를 위한 부분을 모두 살펴보고 그것에 대해 모든 지식이 있어야 필요한 부분만을 바꿀 수 있고 문제를 발생 시키지 않을 것이다 또한 개발자도 제어를 위한 부분을 수정하기위해 어플리케이션을 보더라도 디자인을 위한 코드와 제어를 위한 코드를 구분할 줄 알아야한다 반대로 제어를 위한 코드, 뷰를 위한 코드, 데이터 제어를 위한 코드, 를 .. 이전 1 2 3 4 다음