전체 글(171)
-
[Linux, Docker] git pull / 프로젝트 빌드 / 컨테이너 배포 (Dockerfile 생성), (이미지 실행)
소스코드 다운로드 rm -rf /docker_projects/{프로젝트명}/project mkdir -p /docker_projects/{프로젝트명}/project cd /docker_projects/{프로젝트명}/project git clone {레포지토리 주소} . 이 명령어에서 가장 끝 부분에 있는 . 을 빠뜨리면 안됨. git checkout {브랜치명} vim src/main/resources/application-secret.yml 실제 작동하는 키 정보 넣기 gradlew 를 소유자가 실행 가능한 상태로 변경 cd /docker_projects/{프로젝트}/project ls -alh | fgrep gradlew chmod 744 gradlew ls -alh | fgrep gradlew 빌드..
2023.05.11 -
[Docker] 배포를 위한 DB 이미지 컨테이너에 띄우기 및 세팅 (ex. MySQL(mariaDB)
MariaDB 최신 이미지 실행 # 컨테이너 실행 docker run \ --name mariadb_1 \ -d \ --restart unless-stopped \ -e MARIADB_ROOT_PASSWORD=lldj123414 \ -e TZ=Asia/Seoul \ -p 3306:3306 \ -v /docker_projects/mariadb_1/conf.d:/etc/mysql/conf.d \ -v /docker_projects/mariadb_1/mysql:/var/lib/mysql \ -v /docker_projects/mariadb_1/run/mysqld:/run/mysqld/ \ mariadb:latest 보안설정 docker exec -it mariadb_1 /usr/bin/mariadb-secur..
2023.05.11 -
[Linux] docker, git, JDK 등 설치
yum 최신화, yum update, mlocate 설치(나중에 편리) yum install epel-release -y yum update -y yum install mlocate -y updatedb systemctl status firewalld systemctl stop firewalld systemctl disable firewalld im /etc/selinux/config selinux 끄기 수정 : SELINUX=disabled getenforce setenforce 0 Docker 설치 # Uninstall old versions # 혹시 모르니 기존의 오래된 도커를 삭제하는 명령을 수행 yum remove docker \ docker-client \ docker-client-latest..
2023.05.11 -
[배포] ILikeYou 프로젝트 Docker, Jenkins 사용하여 웹 애플리케이션 배포하는 과정
배포 환경 : - MySQL - SpringBoot - JDK17 - Linux(배포서버) - Docker - Jenkins - Git 순서대로 정리 1. SSH로 서버(Linux) 와 연결 2. docker, git, JDK, MariaDB 설치 https://developer-joon.tistory.com/174 3. git에서 프로젝트 받아오기 (경로는 본인만의 양식이 있으면 편리하다.) # 경로 (양식) m -rf /docker_projects/gram/project mkdir -p /docker_projects/gram/project cd /docker_projects/gram/project 4. 도커로 DB 이미지 만들어서 컨테이너 띄우기 및 프로젝트 실행에 필요한 database 환경 세팅 ..
2023.05.11 -
[SSH] 접속 오류 kex_exchange_identification: read: Software caused connection abort
지난 번 구매했던 서버에 ssh로 접속하려고 하는데 약 1분간 아무 것도 뜨지 않다가 kex_exchange_identification: read: Software caused connection abort banner exchange: Connection to 106.10.42.229 port 2226: Software caused connection abort 이런 오류가 발생한다. 구글에 쳐봐도 너무 다양한 해결방법을 제공한다. 그래서 생각해봤을때 지난번 제대로 접속이 됐을 때와 차이점은 장소의 이동이었다. 혹시 싶어서 서버를 제공해주는 네이버클라우드플랫폼에 들어가서 설정했던 정보를 뜯어보았다. ACG설정을 보니 역시나 접속 ip설정에 현재 ip주소로는 포트포워딩이 되어 있지 않았다. 그래서 추가해..
2023.05.11 -
[JPA] 쿼리 파라미터 값으로 동적인 결과를 반환할 때 null값 처리(검색 필터링)
예를 들어 category를 선택하고 검색을 할 수 있어서 2가지 이상으로 필터링을 한다면 '?category=운동&search=철봉' 이렇 쿼리 파라미터가 추가된다. 하지만 필터링을 한 가지만 쓴다면 '?category=운동&search=' 처럼 값이 없는 경우가 생길 수 있다. 이런 경우에는 컨트롤러나 서비스 계층에서 값의 유무를 체크(빈값인지)해서 null값으로 JPA 에게 보내준다. //서비스 계층에서 예시 if (StringUtils.isEmpty(category)) category = null; if (StringUtils.isEmpty(search)) search = null; JPA를 구현한 레포지토리 계층에서는 조건절에 'IS NULL' 을 통해 NULL값이라면 무시할 수 있도록 QUER..
2023.05.09