일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 루프
- dependency
- boxing
- 메소드
- https://start.spring.io
- Java
- suvlet
- 싱글톤
- 클래스
- Short
- 컬렉션
- 제네릭
- Scanner
- bootstrap
- 제너릭
- 박싱
- start.spring.io
- unboxing
- 인텔리제이
- 자동형변환
- 언박싱
- wrapper
- maven
- 싱글턴
- 빌드
- 무한
- 내장객체
- 콜렉션
- 스프링
- Jenkins
- Today
- Total
목록개인 공부 (71)
Developer Gonie
1. 내 리포지토리에 웹훅 이벤트 발생하도록 설정 Payload URL 은 "실행중인 젠킨스서버IP번호:포트번호/github-webhook/" 으로 입력 이 웹훅의 트리거가 될 이벤트는 push 이벤트로 선택 2. 웹훅 이벤트가 발생하면 자동 빌드가 이뤄지도록 설정 이전에 생성한 Maven project 의 '구성' 메뉴에서 GitHub hook trigger for GITScm polling 을 선택 3. 연결된 깃 리포지토리에서 코드를 살짝 후정후 push 해보자 4. jenkins의 빌드 히스토리에 자동으로 빌드가 되고 있는 모습을 확인
* 이 작업을 해주는 이유는 빌드시 옆에 뜨는 시간이 내가 원하는 시간이 아니기 때문이다.
* 서버 실행중에 발생하는 에러들은 아래 파일에서 확인하면 된다. 당시 톰켓 실행중에 발생하는 로그의 파일들은 아래의 위치에 존재했다. /home/tomcat/apache-tomcat-9.0.68/logs 오늘 발생한 로그 확인 tail catalina.out 마지막 2000줄을 확인하고 싶다 tail -2000f catalina.out 원하는 부분의 로그만 확인하고 싶은 경우 grep 사용 - 여기서 grep의 -i 는 대소문자 구분없이 검색되도록 하는 grep 옵션이다. tail -f catalina.out | grep -i 'exception,error' 오늘 이전의 로그를 확인하고 싶다면 catalina.2018-10-10.out 와 같은 로그를 확인하면 된다.
* 톰켓을 통해 배포하는 과정도 포함되어 있어서 빌드 시작전 Tomcat이 실행중에 있어야 한다. * 오라클 클라우드에 연결된 DB를 사용중일 땐 오라클 클라우드에서 AWS EC2의 IP주소를 등록해줘야 한다. 빌드완료 후 Deploy 중 발생한 에러1 Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The Tomcat Manager responded "FAIL - Deployed application at context path [/] but context failed to start 해결책 톰켓 내부의 에러이므로 톰켓의 설치 위치에 가서 logs/catalina.log 파일을 살펴본다. 결과적으로 JDBC ..
이번 글 작성의도 AWS EC2 프리티어에서 인스턴스 유형 t2.micro 는 RAM이 1GB(GiB) 이다. 이 용량은 매우 부족한데, 이 때문에 젠킨스에서 플젝을 빌드하면 엄청 버벅이거나 아예 멈춰버리는 현상을 보였다. 그 때마다 인스턴스를 중지시키고 다시 실행시키곤 했는데 아래는 인스턴스 유형의 업그레이드 없이 그것을 해결하는 방법이다. 스왑(swap)공간이란? 스왑 공간 (Swap space)이란 리눅스에서 물리적 메모리 (RAM)의 용량이 가득 차게될 경우 사용되는 여유 공간을 말합니다. 즉, 시스템이 처리하고 있는 데이터를 저장할 RAM이 충분하지 않을 때 스왑 공간에 이 데이터를 기록한다는 말입니다. 스왑 공간을 이용하면 RAM의 용량을 키운 효과를 얻을 수 있습니다. AWS EC2 인스턴스..
1. item 이름 지정 및 프로젝트 타입 설정 - Maven으로 빌드시켜 war 파일을 생성할 것이기에 Maven project 를 선택하여 item(job)을 생성 - item 이름은 되도록 공백 없이 작성하는게 좋은거 같다. 디렉토리명이 되기 때문이다. 나중에 깃에서 클론된 코드들은 /var/lib/jenkins/workspace/[item이름] 경로에 저장된다. 2. General 설정 - 뭐하는 설정인지 모르겠음..??? 3. 소스 코드 관리 - 깃허브에서 어느 리포지토리를 clone 해올지를 브랜치와 함께 지정해줌. 4. 빌드 유발 - maven으로 언제 빌드시킬지를 지정함. * 여기서 말하는 빌드는 깃허브 리포지토리에 있는 코드를 가져오는 것을 의미한다. * 각 요소가 의미하는 바가 궁금하다..
Credentials(자격증명) 등록 - 여기에는 깃허브 리포지토리에 접근하기 위한 Personal Access Key 같은 것들을 저장해둔다.
플러그인 설치 방법 필수로 설치해야할 플러그인 * 마지막 플러그인은 설치 후 젠킨스 재시작을 한 번 해주자. 1) Git plugin -> 젠킨스 초기 설치 때 설치되어 있어 내가 설치해주지 않았음 2) Maven Integration : Maven Project를 생성할 수 있게 된다. 3) deploy to container : 설치된 것 확인
* 각 도구의 자동설치 기능을 사용하지 않은 이유는 사용가능한 버전에 제한이 걸려있기 때문에 그러함. 한 예시로 젠킨스 최신버전은 java8을 지원하지 않는데 java8, 9 까지만 선택이 가능한 문제. JDK 경로 적어주기 * 자동설치 체크 해제 echo $JAVA_HOME Git 경로 적어주기 * 자동설치 체크 해제 which git Maven 경로 적어주기 * 자동설치 체크 해제
사용되는 대략적인 이유 일단 깃허브의 아이디와 비밀번호 없이 Personal access tokens 만 있으면 리포지토리 URL을 이용해 리포지토리를 Clone(복사)해올 수 있게되고, 해당 계정 소유의 리포지토리에 push할 수 있는 권한도 가질 수 있다. 사용되는 곳의 구체적인 예시 1) git bash 에서 사용자 id와 pw 를 입력하라고 하는데 이때 입력해야 하는 pw가 아래서 발급받은 토큰의 값이다. 2) 이클립스에서 깃허브 연동시 입력하라는 pw가 아래서 발급받는 토큰의 값이다. 발급받는 방법 * 발급받은 직후에만 Key 값이 노출되는데 분실하면 찾을 수 없으니 주의하자. Select scopes에서 뭐 하나 체크안한 것 때문에 앞으로 어떤 제약이 있을지 모르므로 Select scopes ..
* EC2 에서 git 을 입력해보아 설치가 안되어있다면 설치하고 아니면 생략한다. Git 설치 sudo apt update sudo apt install git git --version // 당시 내가 사용한 git 버전 2.34.1 Git 설치된 위치확인 * 나중에 젠킨스에서 Jenkins관리-Global Tool Configuration-Git, Path to Git executable 에 입력해줘야 하는 경로 which git