프로젝트/아카이뷰
-
[React] HOC를 활용한 사용자 인가 처리프로젝트/아카이뷰 2024. 8. 12. 20:03
HOC를 활용한 사용자 인가 처리 왜 궁금했을까❓아카이뷰 서비스는 사용자 등급이 존재하여 접근 권한이 존재하여 일부 페이지에 접근이 가능하다. API 서버에서 Spring Security를 활용하여 사용자 권한을 체크하고 있지만 프론트엔드에서도 페이지 자체에 접근을 못하게 막아야 한다. 이를 해결하고 React의 HOC를 활용하여 사용자 접근을 관리해보려고 한다. 1. HOC(Higher Order Component) 고차 컴포넌트 – ReactA JavaScript library for building user interfacesko.legacy.reactjs.orgHOC(Higher Order Component)의 약자로 컴포넌트 로직을 재사용하기 위한 React의 고급 기술이라고 설명한다. 컴포넌..
-
[CI/CD] Docker를 이용해서 Jenkins를 사용해야 할까?프로젝트/아카이뷰 2024. 2. 1. 10:24
Jenkins in Docker 왜 궁금했을까❓SSAFY 2학기 프로젝트 Archiview를 Docker에 Jenkins를 올리는 형태로 CI/CD를 구축하고 있었는데 Jenkins안에서 docker 명령어를 써야하는 상황이 발생했다. jenkins에는 docker가 설치되어 있지 않아 방법을 알아보고 해결해보고자 한다. 우선, jenkins를 이용하는 방식을 두 가지로 나뉜다. ① OS에 설치하는 방식Ubuntu, CentOs 등 리눅스 서버 자체에 jenkins를 설치하는 방식이다.jenkins를 직접 설정할 수 있다는 부분이 가장 큰 장점인 거 같다.단점으로는 매번 플러그인, 설정 등을 직접 셋팅을 해줘야 한다는 점이다. ② 도커를 통해서 설치하는 방식리눅스 서버에서 Docker를 이용하여 Jen..
-
[CI/CD] Jenkins / GitLab / Docker / EC2 연동 (2/2)프로젝트/아카이뷰 2024. 1. 31. 21:15
이번 포스팅에서는 Jenkins 세부 설정과 GitLab과의 연동, 배포까지 진행해보도록 하겠다. 1. GitLab 연동Jenkins 관리에서 System을 누르고 GitLab 설정쪽으로 가서 해당 필드를 채워준다. 2. Credential 등록GitLab과의 연동을 위해 GitLab에서 AccessToken을 발급하고 등록해준다.Kind를 GitLab API token으로 변경 후, API Token 부분에 Access Token을 삽입ID는 GitLab의 아이디를 적어주고 Add를 클릭다시 돌아가서 credential을 선택 3. Pipeline 작성new item을 누르고 pipeline을 선택push에 대해서만 build를 유발시킬 것이기 때문에 build Triggers에서 위의 그림과 같이 설..
-
[CI/CD] Jenkins / GitLab / Docker / EC2 연동 (1/2)프로젝트/아카이뷰 2024. 1. 30. 21:02
SSAFY 2학기 프로젝트 "Archiview"를 Jenkins, GitLab, Docker, EC2를 이용해서 CI/CD를 구축해보겠다. [CI/CD] Jenkins란?Jenkins 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 진행하면서 완성한 기능들을 매번 수동 빌드하여 배포하는 과정이 너무 번거롭게 느껴졌다. EC2 서버에서 소스 코드를 pull 받고 build하고 배포pslog.co.kr [Docker] Docker란?Docker 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 수행할 때, CI/CD를 구성하기 위해서는 Docker, Docker compose를 사용해야만 하는 것을 확인했다. 그래서 업무 생산성을 향상시키기 위해 CI/CD 환경 구pslog.co.kr위 포스팅들을 통해 ..
-
[Docker] RUN / CMD / ENTRYPOINT의 차이프로젝트/아카이뷰 2024. 1. 29. 19:40
RUNRUN 명령어는 Docker 파일로부터 도커 이미지를 빌드할 때 실행되는 명령어Dockerfile에서 주로 작성되며 라이브러리 설치에 사용된다.CMD / ENTRYPOINTDocker 파일로부터 도커 이미지를 빌드할 때 실행되는 것이 아닌 컨테이너를 생성하고 최초로 실행할 때 수행하는 명령어두 명령어는 동일한 역할을 수행하는 것처럼 보이지만 차이점이 존재한다.CMD의 경우 Docker를 run할 때 파라미터로 값을 넘겨 실행할 수 있다.ENTRYPOINT의 경우는 파라미터로 값을 지정할 수 없으며 컨테이너가 최초에 꼭 실행되어야 하는 명령어가 작성되곤 한다.
-
[CI/CD] Jenkins란?프로젝트/아카이뷰 2024. 1. 27. 11:46
Jenkins 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 진행하면서 완성한 기능들을 매번 수동 빌드하여 배포하는 과정이 너무 번거롭게 느껴졌다. EC2 서버에서 소스 코드를 pull 받고 build하고 배포하고 이러한 일련의 과정이 시간적인 측면에서 너무 아깝다고 생각되었고 업무 생산성을 향상시키기 위해 CI/CD가 필수적이라고 생각했다. CI/CD의 많은 도구 중에 왜 Jenkins를 선택했을까 ❓아래 3가지 키워드를 바탕으로 Jenkins를 선택하게 되었다.취업, 확장성, 무료1. 대부분의 채용 공고를 살펴보면 Jenkins 사용 경험을 요구하고 있다는 것을 확인했다. 추후, 기업에 들어가서 구성되어 있는 시스템을 파악하거나 기업의 성장에 조금이나마 기여하기 위해서는 Jenkins를 선택하는..
-
[Docker] Spring boot 프로젝트 배포프로젝트/아카이뷰 2024. 1. 26. 08:52
Spring Boot 프로젝트 배포 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 수행하는 과정에서 클라이언트와 통신하기 위해 백엔드 서버를 EC2에 띄워야 했다. NGINX 부분은 팀원분이 설정을 해놓은 상태여서 나는 .jar 파일로 빌드만 해서 넘겨주면 되는 상황이었다. DockerfileDocker compose를 이용해서 백엔드 API 서버를 배포하는 식으로 아키텍쳐가 구성되어 있어서 Dockerfile을 이용하여 백엔드 API를 빌드하고 이미지화 하는 식으로 진행하려고 한다.FROM openjdk:17ARG JAR_FILE=build/libs/*.jarCOPY ${JAR_FILE} app.jarEXPOSE 11443ENV TZ Asia/SeoulENTRYPOINT ["java","-jar"..
-
[Docker] Docker란?프로젝트/아카이뷰 2024. 1. 25. 23:20
Docker 왜 궁금했을까 ❓SSAFY 2학기 공통 프로젝트를 수행할 때, CI/CD를 구성하기 위해서는 Docker, Docker compose를 사용해야만 하는 것을 확인했다. 그래서 업무 생산성을 향상시키기 위해 CI/CD 환경 구성이 필수적이었고 이를 구현하기 위해 Docker에 대해 학습을 진행해보았다. Docker란 ❓Docker- 프로세스 격리 기술을 이용하여 더 쉽게 컨테이너를 실행하고 관리할 수 있도록 도와주는 오픈소스 프로젝트- 도커 엔진(Docker Engine) 혹은 도커에 관련된 모든 프로젝트를 지칭Docker Engine컨테이너를 직접 관리하는 주체로서 컨테이너를 제어하고 다양한 기능을 제공 Docker의 작동 원리 What is a Container? | DockerA cont..