노트/F-lab20 Github Actions: CI/CD 구축 (feat.shell script) - 준비편 들어가기 전에 프로젝트에서 Github Actions를 활용해서 빌드 및 테스트를 자동화하고 서버에 jar 파일과 shell script를 배포해서 script를 실행하기까지의 과정을 글로 남기기로 했다. 과정 중에 필요한 모든 내용을 담으려고 하다 보니 글이 지저분해지는 것 같아 준비편과 실전편을 나누기로 했고 이번 편은 다음 편을 진행하기 위해 필요한 과정을 작성했다. 목차 ⚓️ 준비 1. 서버 생성 2. 서버에 Java 설치 및 환경 변수 설정 3. jar 파일 생성 설정 4. workflow 생성하는 방법 준비하기 1️⃣ 서버 생성 NCP 서버 생성부터 ssh 접속까지 들어가기 전에 그동안 AWS 서버 인스턴스 생성만 해봤는데 F-lab에서 크레딧을 제공해줘서 처음으로 NCP를 사용하게 되면서 .. 2023. 6. 4. NCP 서버 생성부터 ssh 접속까지 들어가기 전에 그동안 AWS 서버 인스턴스 생성만 해봤는데 F-lab에서 크레딧을 제공해줘서 처음으로 NCP를 사용하게 되면서 해당 과정을 정리해봤다. ACG 설정만 조금 주의하면 아주 간단하게 이용할 수 있다. 1. NCP 서버 생성 2. 포트포워딩 설정 3. ACG 규칙 설정 4. 공인 IP 할당 5. ssh 접속 1️⃣ NCP 서버 생성 1. 로그인 후 홈페이지 우측 상단에 위치한 콘솔 버튼을 클릭한다. 2. 좌측에 있는 Server 탭을 클릭하고 서버 생성 버튼을 누른다. 3. 본인의 프로젝트와 맞는 서버 이미지를 선택한다. 부팅 디스크 크기 : 50GB 이미지타입 : OS OS 이미지타입 : Ubuntu 서버 타입 : Compact 서버 이미지 이름 : ubuntu-18.04 나는 Compac.. 2023. 5. 29. Spring REST Docs를 선택한 이유 들어가기 전에 이번 프로젝트에서는 API 문서 자동화를 위해 Spring Restdocs를 선택했다. Swagger와 Spring REST Docs를 두고 고민했었는데 둘의 차이점은 무엇이고 왜 REST Docs를 선택했는지 기록하고자 한다. Spring REST Docs vs. Swagger Spring REST Docs Swagger 테스트 코드에 적용한다. Controller/DTO 코드에 적용한다. 테스트 기능은 제공하지 않는다. 문서를 통해 테스트할 수 있다. 문법에 따라 자유롭게 문서를 만들 수 있다. 스타일 가이드라인에 따라 문서를 만들 수 있다. Spring REST Docs 1. 테스트 코드에 적용한다. 테스트 클래스에 REST Docs를 사용할 수 있도록 설정한 후에 아래처럼 작성하면 .. 2023. 4. 8. Lombok을 사용하지 말라고? 들어가기 전에 Lombok을 선호하지 않는 개발자들이 있다는 걸 안 지는 얼마 되지 않았다. 작년에 처음 듣고 "음, 왜지?" 하면서도 제대로 알아보지 않았었는데 올해 또 듣게 되니까 내가 쓸 때 쓰더라도 어떤 의견들이 있는지 제대로 알고 주관있게 사용해야겠다는 생각이 들었다. 강의를 들으면서 @Data와 같은 어노테이션이 여러 어노테이션을 묶어서 사용하는 거기 때문에 불변해야 할 때 불변함을 유지할 수 없게 만드는 코드가 생성된다던지 하는 우려가 있다는 것은 알았다. 그래도 필요한 어노테이션만 잘 적용해서 쓰면 코드 중복도 줄이고 좋은 거 아닌가 정도로만 생각하면서 깊게 고민해 본 적은 없던 것 같다. 그런데 바로 이게 함정이니 나와 같은 생각을 하시는 분들이라면 이 글을 잘 보시라. Lombok을 사.. 2023. 3. 25. 개발 스펙 정하기 들어가기 전에 이번 프로젝트에서 초기 개발 스펙을 다음과 같이 정했다. Java 17 Spring boot 3.0.4 Gradle MySQL, MyBatis JUnit5, Mockito Jenkins docker 매번 정보는 많이 찾아보면서 정하는데도 글로 고민했던 흔적을 남길 수 있는 시간이 없었다 보니까 이번에는 제대로 정리를 해야겠다는 생각이 들었다. Java 17 우선 내가 Java 17을 눈여겨보기 시작했던 때는 주니어 스터디에서 제일 심혈을 기울였던 자바 면접 대비 스터디를 할 때였다. 그때 자바 버전 별로 차이점을 찾아보다가 발견한 글이 있는데 바로 여기 어때 기술 블로그에 올라온 우리팀이 JDK 17을 도입한 이유이다. Java 8을 아직도 많이 사용하는데 왜 사용하는지, 그리고 왜 Jav.. 2023. 3. 20. F-lab 8주차 보호되어 있는 글 입니다. 2023. 3. 10. 이전 1 2 3 4 다음