본문 바로가기

분류 전체보기166

[gitlab] spring boot(gradle)+jenkins+docker을 이용한 자동 배포 구축 spring boot+gradle 프로젝트 작업중인 gitlab 브랜치가 있는데... 여기 푸시가 발생하면 자동으로 감지하고 배포하도록 cicd를 구축할 것이다. 일단 ec2에 putty를 이용하여 접속해준다.(putty아니어도 상관은 없겠지만 나는 푸티가 좋아) 사용할 포트들은 다 열어놓은 상태라고 가정. sudo apt install openjdk-11-jdk 자바 설치하고 sudo apt-get update sudo apt-get install docker.io 도커를 설치한다. docker run -d --name jenkins -p 7777:8080 -v /jenkins:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docke.. 2023. 3. 17.
spring boot+mysql+jpa+querydsl 테스트 말 그대로 테스트를 위한거라 이상하거나 틀린 부분이 있을 수 있음 기본 세팅 spring boot starter에서 적당히 만든다. create database testdb; use testdb; CREATE TABLE `test` ( `id`int not null auto_increment primary key, `name`varchar(50)NULL ); INSERT INTO `test`(`name`) VALUES('안녕'); INSERT INTO `test`(`name`) VALUES('안녕2'); INSERT INTO `test`(`name`) VALUES('하이룽'); db 적당히 만든다. jpa가 만들게 할수도 있지만 지금은 미리 만들어놓은 애랑 연결되게 하겠슴 server.port=9999 .. 2023. 2. 19.
Spring boot 폴더 구조. 뭘 써야 하지.. 계층형 구조 장점 : 프로젝트의 이해도가 낮아도 전체적인 구조 파악을 빠르게 할 수 있다. 단점 : 디렉터리 안에 클래스들이 너무 모인다. 도메인형 장점 : 도메인의 관련 코드를 응집할 수 있다. 단점 : 프로젝트의 이해도가 낮을 경우 전체적인 구조를 파악하기 어렵다. 출처: https://velog.io/@sunil1369/Spring-boot-%ED%8C%A8%ED%82%A4%EC%A7%80-%EA%B5%AC%EC%A1%B0 직전 프로젝트에서는 계층형 구조를 사용했다. 초반엔 좋았는데 기능들이 많이 추가됐던 막판에는 찾아들어가기 귀찮았다. 다음 프로젝트는 도메인형을 써볼까...하지만 도메인형을 쓰다보면 공통적으로 쓰는 애들이나, 어떤 도메인에 넣어야 할지 애매한 애들때문에 계층형이 그리워지기도 하고... 2023. 2. 19.
깃 충돌나는 부분을 상대의 코드로 덮어쓰기 유니티로 협업을 하게 되었는데 뭔가 문제가 생겼는지 어떤 폰트 에셋 파일 하나가 계속 충돌이 난다. 일반적으로 코드를 보면서 충돌을 해결하지만 충돌난게 폰트 파일이라 코드로 해결이 불가능함... 깃이그노어 설정을 할 수도 있겠지만 일단 당장 풀 받고 싶은 상황 변경사항도 없고 그냥 상대거로 강제 덮어쓰기 해도 상관없으니까 pull을 취소하고 다시 아래의 명령어로 pull 받는다. git reset --hard ORIG_HEAD //풀 취소 git pull -s recursive -X theirs //풀 하는 과정에서 충돌시 상대의 코드를 선택하여 풀 hard가 들어간 불안한 명령어지만 유니티에선 또 쓸일이 있을 것 같은 명령어라 저장해둠 2023. 2. 11.
CI/CD 어떻게 구현했는지 흐름 정리 이번 프로젝트에서 처음으로 ci/cd를 구축해보았다. 난 배포 쪽은 경험이 많지 않아서 다른 백엔드 팀원분의 도움을 많이 받았다. 하지만 그만큼 배운 것도 많아서 까먹기 전에 어떤식으로 구축했는지 흐름만 간략히 정리해 보려고 한다. 혹시 강좌글 같은 걸 기대하고 이 글을 클릭하셨다면.. 신속한 뒤로가기를 추천합니다.... cicd 구축에는 docker, ansilbe, aws를 사용하였다. 프론트는 react, socket.io를 이용하였고 백엔드는 intlleij, mysql을 이용하였다. - jenkins: 커밋/푸시가 발생하면 자동으로 빌드 - docker: 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트 - ansible: 여러개의 서버를 .. 2023. 1. 28.
[window] docker desktop 설치 후 docker desktop starting.. 무한 대기 docker is starting.. 메세지만 보이고 docker desktop이 실행되지 않는 현상 찾아보니 다양한 이유로 발생하는 것 같다. 일단 내 문제는 리눅스 설정이 안되어 있었다는 것이다.. 무한 대기현상 자체는 switch to window container 를 통해서 해결할 수도 있지만,,, 이렇게 윈도우 기반으로 하다간 후에 도커 사용 초반부터 수많은 에러를 만나게 될 것이다. 그게 바로 내얘기인데ㅎ.. 초반에 아무생각 없이 window container로 바꿔서 사용하다가 초반부터 The system cannot find the file specified 에러를 만났고 어찌저찌 해결한 다음에도 무슨 명령어 한 줄 칠때마다 새로운 에러가 발생했다. ...아니 근데 윈도우 옵션같은 걸 만들.. 2023. 1. 20.
반응형