분류 전체보기(171)
-
[Jenkins] (pull -> 빌드 -> 배포) 파이프라인 ex
pipeline { agent any environment { timestamp = "${System.currentTimeMillis() / 1000L}" } stages { stage('Prepare') { steps { script { def oldImageId = sh(script: "docker images gram:latest -q", returnStdout: true).trim() env.oldImageId = oldImageId } git branch: 'main', url: 'https://github.com/jooooonj/GramGram_project' } post { success { sh 'echo "Successfully Cloned Repository"' } failure { s..
2023.06.01 -
[Linux] java17 설치
yum -y install wget curl cd /tmp rm -rf /opt/jdk-17 jdk 17 다운로드 Linux 64-bit wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz 이걸 선택하시면 됩니다, 본인의 PC가 M1 인거랑 상관없습니다. Linux ARM64 wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-aarch64_bin.tar.gz 본인의 PC가 M1 인것과 상관없습니..
2023.05.31 -
[JPA] 프록시 동일 객체 (==, equals) 비교 실패 ? instanceOf 사용
- 프록시 객체는 처음 사용할 때 한 번만 초기화 - 프록시 객체를 초기화 할 때, 프록시 객체가 실제 엔티티로 바뀌는 것이 아니다. 실제 엔티티에 접근을 하는 것일 뿐. - 프록시 객체는 원본 엔티티를 상속 받고 있다. 그래서 타입 체크할 때 == 비교시에 실패 가능성이 있다. (로직이 복잡해지면 받아온 객체가 프록시인지 실제 객체인지 구분이 어렵기 때문) -----> instanceof 사용해야 한다. - 영속성 컨텍스트에 엔티티가 이미 있으면, 프록시를 호출하는 getReference를 호출해도 실제 엔티티가 반환된다. - 영속성 컨텍스트의 도움을 받을 수 없는 준영속 상태일때 프록시를 초기화하면 예외 발생 (하이버네이트 - org.hibernate.LazyInitailizationException..
2023.05.28 -
[Jenkins] git commit 이벤트 발생 시 자바 프로젝트 자동 배포
- Jenkins 내부에 배포할 프로젝트에 맞는 JDK 버전, Docker docker exec -it jenkins_1 bash apt-get update apt-get install openjdk-17-jdk -y # jdk 경로 찾기 locate java | fgrep 17 | fgrep javac jenkins에 도커 설치 apt-get update -y apt-get install -y ca-certificates curl gnupg lsb-release mkdir -p /etc/apt/keyrings rm /etc/apt/keyrings/docker.gpg curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /e..
2023.05.11 -
[Docker] Jenkins 젠킨스 설치 / 인증 / 사이트 접속
젠킨스 설치 docker run \ --name jenkins_1 \ -p 8081:8080 \ -e TZ=Asia/Seoul \ -v /docker_projects/jenkins_1/var/jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker_projects/jenkins_1/data:/data \ -u root \ -d \ --restart unless-stopped \ jenkins/jenkins:lts -v /var/run/docker.sock:/var/run/docker.sock \ 이 부분이 훗날 젠킨스에서 자동배포 할 때의 키포인트가 될 것이다. docker exec jenkins_1..
2023.05.11 -
[배포] Docker / nginx proxy manager 띄우기 및 포트 리다이렉트 (hosts 추가)
nginx proxy manager은 nginx에 대해 잘 몰라도 UI를 제공하기 때문에 훨씬 편하게 이용할 수 있다. 도메인 네임으로 식별하여 포트 리다이렉트를 시키기 때문에 접근할때의 포트를 신경쓸 필요가 없다 ! 그리고 SSL에 관한 보안도 쉽고 편하게 적용할 수 있다. 디렉토리 생성 mkdir -p /docker_projects/nginx_proxy_manager_1 cd /docker_projects/nginx_proxy_manager_1 docker-compose.yml 생성 vim docker-compose.yml version: "3" services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: ..
2023.05.11