IT 썸네일형 리스트형 젠킨스(jenkins)로 스프링부트 자동화 1(jenkins에서 jdk-17설치) 아주 간단한 스프링 부트 프로젝트를 배포하고 jenkins를 활용하여 자동화까지 진행 하려한다.https://github.com/sh970901/dockerDB특별한 기능 없이 /getList로 접속하면 회원의 정보를 출력하는 용도이다. 현재 젠킨스가 실행되고 있는 컨테이너에서 확인해본결과 jdk는 11.0 버전이다. 젠킨스는 자바 기반이기 때문에 기본적으로 jdk는 설치가 되어있다. 따라서 jdk 17버전을 설치한다.JDK 17 설치 방법 1 : jenkins_1 컨테이너에 접속해서 설치docker exec -it jenkins_1 bashapt-get updateapt-get install openjdk-17-jdk -yJDK 17 설치 방법 2 : HOST OS에서 컨테이너로 명령을 전송해서doc.. 더보기 젠킨스(jenkins) 3(github webhook, Private 레포지, 비밀키, 공개키) pubilc 저장소의 경우1. 깃허브 Repository => setting => Webhooks => Add webhook => PayLoad URL에 ngrok로 생성한 IP를 적는다. https:// [ip]/github-webhook/ 추가 => add webhooks 2. 이전에 젠킨스에서 프로젝트 생성하면서 Git Repository에 url을 잘 추가해주었다면 이제 커밋을 하면 신호가 젠킨스에 날라간다. 3. 내용을 수정하고 커밋을 진행하고 Webhooks를 확인해보면 Response가 200인 것(잘 보냈음)을 확인 할 수 있다.젠킨스에 잘 도착했는지 확인하고 싶으면 꼭 Configuration에 GitHub hook trigger를 체크해주는 것을 잊지 말자.4. 다시 커밋내용을 푸시하.. 더보기 젠킨스(jenkins) 2(ngrok 설치 및 실행) 개인 PC에서 커밋이 발생하면 github가 개인 PC => VirtualBox => Docker => jenkins에 신호가 도달 해야한다. 하지만 공인 IP가 존재하지 않아 불가능하다. 그래서 필요한게 ngrok이다. ngrok를 쓰면 개인 PC에 도메인 부여(절대적 주소)가 가능하다. ngrok 설치 및 실행https://ngrok.com설치 후 계정 가입을 진행하고 다운로드 받는다.다운받은 위치에서 ngrok을 실행하기 위해서는 맨 처음 Configuration File에 토큰을 추가하는 작업을 진행 해주어야 한다.ngrok http 8081로 정상적으로 실행되는지 확인하자. Forwarding에 적혀있는 주소가 나의 IP가 된다.IP에 접속해보면 결과를 확인할 수 있다.현재 접근에 실패했다. .. 더보기 젠킨스(jenkins) 1(개요 및 설치) 젠킨스(Jenkins)란?모든 언어의 조합과 소스 코드 레포지토리에 대한 지속적인 통합(Continuous integration, CI)과 지속적 배포(continuous delivery, CD) 환경을 구축하기 위한 도구다. 빌드, 테스트, 배포 프로세스를 자동화하여 소프트웨어 품질과 개발 생산성을 높일 수 있다.젠킨스와 같은 CI툴이 등장하기 전에는 일정시간마다 빌드를 실행하는 방법이 일반적이었는데, 젠킨스는 서브버전, Git과 같은 버전 관리 시스템과 연동해서 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동하도록 도와주게 되어 편의성이 증가되었다.이러한 기능을 수행하는 젠킨스는 컴파일 오류를 검출하고, 자동화 테스트를 수행하며, 정적 코드 분석으로 인한 코딩 규약 준수 여부를 .. 더보기 도커라이즈 (MariaDB 이미지, docker compose, NginX Proxy Manager) 각각의 컨테이너에서 요청이 들어오면 Nginx가 SpringBoot에게 넘기고 DB가 필요하면 MariaDB에게 부탁하는 이상적인 형태로 도커라이즈를 진행해보려 한다. 이전에는 DB를 따로 설치해서 사용하였는데 이번에는 DB는 MariaDB 도커 이미지를 실행시키려고 한다. 기존에 MariaDB가 설치되어 있다면 삭제 해주도록 한다.MariaDB 삭제sudo yum remove mariadbsudo rm -rf /var/lib/mysql잔존 데이터 삭제sudo rm -rf /etc/my.cnf.d*잔존 설정파일 삭제다음은 기본적으로 만들어져 있는 MariaDB 이미지를 실행한다.MariaDB 이미지 실행https://hub.docker.com/_/mariadb# 컨테이너 실행docker run \ -.. 더보기 리눅스에서 DB 사용 앱을 도커라이즈2(DB 설정 및 권한부여) https://sh970901.tistory.com/62 https://github.com/sh970901/dockerDB article 회원 엔티티를 생성하고 기본 값으로 두개의 데이터를 넣었다. 정상적으로 셋팅이 되었다면 /getList에 접근하였을때 article의 정보를 jso.." data-og-host="sh970901.tistory.com" data-og-source-url="https://sh970901.tistory.com/62" data-og-url="https://sh970901.tistory.com/62" data-og-image="https://scrap.kakaocdn.net/dn/EzQHF/hyPReFYBVF/HgK3DHHkCQgwuHUV3xmxt1/img.png?width=4.. 더보기 스프링 빈(Bean)이란 스프링 빈이란?스프링 빈은 스프링 컨테이너에 의해 관리되는 자바 객체(POJO)를 의미한다.스프링의 특징에는 제어의 역전(IoC)이 있다. https://sh970901.tistory.com/42?category=954625 스프링 IoC 컨테이너 (Inversion Of Control)무엇인가? Inversion Of Control ⇒ 제어의 반전 IoC(제어 반전)이란, 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미합니다. 스프링 프레임워크도 객체를 생성하sh970901.tistory.com제어의 역전이란, 간단히 말해서 객체의 생성 및 제어권을 사용자가 아닌 스프링에게 맡기는 것이다.지금까지는 사용자가 new연산을 통해 객체를 생성하고 메소드를 호출했다. IoC.. 더보기 JPA(Java Persistence API)를 왜 쓰는가? ▶ 개념💡 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 자바 진영에서 ORM( Object - Relational Mapping ) 기술 표준으로 사용되는 인터페이스 모음구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다.▶ JPA 동작애플리케이션과 JDBC 사이에서 동작한다.JPA를 사용하면 JPA 내부에서 JDBC API를 사용하여 SQL을 호출해서 DB와 통신하나의 앱에는 하나의 EntityManager Factory를 생성하고 각 요청에 따라 EntityManager를 생성하여 커넥션 풀을 만들고 DB에 요청EntityManager는 하나의 스레드에서 사용하고, 사용이 끝나면 반납그 이유는 트랜잭션.. 더보기 이전 1 ··· 10 11 12 13 14 15 16 ··· 19 다음