본문 바로가기
반응형

Develop/etc58

[Jenkins] PipeLine Syntax 본 글은 Pipeline Syntax 중에서도 Declarative 방식에 대한 문법만 기술한다. (Pipeline Syntax의 종류는 yeonyeon.tistory.com/86 의 'Jenkins 문법의 종류에 대해서' 부분에 간단히 기술했다.) Declarative Pipeline Jenkins Pipeline에 비해 최근에 추가됨 Pipeline 하위 시스템 위에서 더 간단한 문법을 제공한다. 유효한 syntax들은 모두 pipeline { } 블록 안에 존재한다. 블록은 Sections, Directives, Steps, assignment statements로 구성되어야 한다. pipeline { } 블록 내에서 코드 최대 크기를 제한하는 문제가 있다. (Scripted pipeline은 제한.. 2021. 4. 19.
[Gradle] gradle이란? Gradle 빌드 파일 작성법 찾아보다가... 이 부분을 왜 이렇게 작성하는지 저걸 어케 쓰는건지 전혀 모르겠고... 혼자 화딱지나서 기초부터 차근차근 정리했다ㅠㅠ 이글저글 많이 참고했지만 가장 좋은 참고 문서는 Gradle 공식 홈페이지 같다. 영어라 읽기 힘든게 흠이지만 정말 정리가 잘 되어있음!!! 목차 1. 기본 용어 2. Gradle이란? 3. Gradle Project의 구성 3-1. Gradle Wrapper란? 4. build.gradle 살펴보기 4-1. api, compile, implementation의 차이점 1. 기본 용어 Project: 소스를 jar 형태로 모으거나, 자바 프로젝트를 compile, 테스트 실행, 어플리케이션 deploy 등의 업무로 구성 Task: 작업의 최소.. 2021. 4. 16.
[Jenkins] JUnit과 연동 이 포스팅은 다음 가정 하에 작성한다. Jenkins와 프로젝트가 연동되어 있다. (빌드가 가능하다) 프로젝트에 JUnit을 이용한 테스트 코드가 존재한다. 1. JUnit Plugin 설치 먼저 Jenkins에 접속해 Plugin Manager에서 JUnit Plugin을 설치한다. 나는 설치 가능에서 검색하니 안나오길래 설치된 플러그인 목록에 있었다. (젠킨스 설치 세팅에 따라 기본적으로 설치되어있는 듯 하다.) 플러그인을 새로 설치한 경우, Jenkins를 꼭 재시작 해주자. 프로젝트에 JUnit을 이용한 테스트 코드가 존재한다면 1번 과정만으로도 연동이 완료된다. 오류 #1 package org.junit does not exist -> junit 관련 jar 파일을 찾지 못했다. build 파일.. 2021. 4. 6.
[Jenkins] Sonarqube와 연동 들어가기 전에... Jenkins, SonarQube, Git, Ant Project를 사용하고 있다. Maven, Gradle Project을 다루고 있는 사용자는 3번 과정을 생략하고 마지막의 Jenkins에 프로퍼티를 추가하는 방법을 사용하면 된다. (3번이 빌드 파일을 수정해야하는 부분인데 빌드 파일을 다루는 방법이 모두 다르기 때문.) 물론 Maven이나 Gradle도 빌드파일을 수정하는 방법을 이용할 수 있으나, 본 포스팅에서는 다루지 않는다. 기존에 Jenkins와 GitHub 연동한 것은 다음과 같다. GitHub에 소스코드 commit & push 소스 코드의 변화 감지 후 Jenkins로 Webhook 발생 소스 pull -> build -> deploy 이제 SonarQube를 연동해.. 2021. 4. 5.
테스트 종류와 도구 여태껏 Jenkins를 이용해 빌드, 배포하는 방법에 대해 스터디했다. 이제는 다른 테스트 도구를 연동해 테스트 후에 빌드, 배포하도록 설정하려고 한다. 그 전에 테스트는 어떤 종류가 있는지, 자주 쓰는 도구는 무엇인지 알 필요가 있어 정리한다. 테스트 방법은 크게 두 가지로 나뉜다. 정적 분석: 소스 코드를 실행하지 않고 분석 동적 분석: 소스 코드를 실행하며 분석 정적 분석 도구에는 대표적으로 pmd, SonarQube, cppcheck, checkstyle 등이 있다. (이후에 Jenkins랑 연동은 pmd와 SonarQube를 이용해보겠다.) 소스 코드를 실행시키지 않고 코딩 표준 준수 여부, 코딩 스타일 적정 여부 등을 판단한다. 정적 분석 도구 종류 ▼ 더보기 PMD 미사용 변수, 비어있는 코.. 2021. 3. 31.
웹 어플리케이션에 대해 Spring MVC는 백엔드 개발에 필요한 수많은 기능을 제공하고 있으나, 기능이 너무 많아서 학습이 어렵다. 이를 다 이해하고 활용하려면 웹 어플리케이션이 어떠한 과정으로 발전해왔는지 이해할 필요가 있다. 웹은 HTTP 기반으로 통신한다. HTTP란 무엇일까? 거의 모든 형태의 데이터를 주고 받을 수 있는 프로토콜 (JSON, XML, 이미지, 파일, 영상, 텍스트, ...) 서버간 데이터를 주고 받을 때도 사용 웹 시스템의 구성 WAS, DB: WAS가 너무 많은 역할을 함. WAS에 장애나면 오류 화면조차 못봄 WAS, Web server, DB: 정적 리소스는 웹이, 중요한 로직 처리는 WAS가 전담. -> 효율적! WAS 장애 나도 오류 화면 출력이 가능해진다. Web server와 WAS는 개.. 2021. 3. 25.
[Ant] Unable to find a javac compiler 에러 에러: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Java\jre1.8" ant build를 하는데 위와 같은 오류가 떴다. build를 위해 jdk를 찾아야 하는데 jre로 세팅되어 있는 것 같다. Windows - Preferences - Ant - Runtime - ClassPath에서 Ant를 선택한 뒤, Add External JARs를 클릭한다. 본인 컴퓨터의 jdk 경로/lib/tools.jar를 추가하면 된다. 참고 blog.naver.com/iamfreema.. 2021. 3. 5.
[Jenkins] Jenkins, SVN, Ant 빌드 및 배포 회사에서 Jenkins 스터디를 하는데 SVN과 Ant를 연동해보라는 과제를 받았다. 근데 Ant가 뭔지도 몰라서 개념 정리부터 시작해보겠다. (ㅠㅠ) 목차 1. 개념 2. ant 프로젝트 생성하기 3. Jenkins와 연동하기 4. Tomcat에 배포하기 1. Jenkins, SVN, Ant의 개념 Jenkins 빌드, 배포 자동화를 돕는 플러그인을 수백개 제공하는 CI Tool의 일종. 자세한 설명: yeonyeon.tistory.com/56?category=931428 SVN 형상 관리 도구의 일종 commit, update를 통해 서버에 파일 업/다운로드가 가능하다 Ant xml 형태의 Java 기반 빌드 도구 jar, war, zip, ear 파일 생성 빌드 도구의 발전: Make -> Ant .. 2021. 3. 2.
[SVN] visual SVN 설치 및 실행 SVN 저장소로 뭔가 테스트 할 일이 있어서 Visual SVN Server를 설치하기로 했다. Visaul SVN 설치하기 1. www.visualsvn.com/ 접속 후 파일 다운로드 VisualSVN - Subversion-based version control for Windows VisualSVN makes your life easier with a reliable plug-in that integrates Subversion seamlessly with Visual Studio. Learn more... download licensing www.visualsvn.com 2. 다운로드 받은 파일 실행 별다른 설정 없이 모두 default 설정으로 두고 next 해서 설치했다. Repository.. 2021. 3. 2.
반응형