Tech

Tech/CI CD

Jenkins 파일 작성법

pipeline { // 스테이지 별로 다른 거 // 어떤 노예를 쓸 것인가 agent any triggers { pollSCM('*/3 * * * *') } environment { AWS_ACCESS_KEY_ID = credentials('awsAccessKeyId') AWS_SECRET_ACCESS_KEY = credentials('awsSecretAccessKey') AWS_DEFAULT_REGION = 'ap-northeast-2' HOME = '.' // Avoid npm root owned } stages { // 레포지토리를 다운로드 받음 stage('Prepare') { agent any steps { echo 'Pulling Repository' git url: 'https://gith..

Tech/CI CD

EC2에 젠킨스 설치하기

젠킨스 홈페이지에서 권장하는 자바 17버전을 사용했다. sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key sudo yum upgrade wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm sudo rpm -ivh jdk-17_linux-x64_bin.rpm sudo alternatives --config java java -version sudo yum install jenkins..

Tech/CI CD

Jenkins를 활용한 CI/CD

정의 각각의 개발자들이 개발하는 환경을 사용자(내부 QA 엔지니어, 백엔드, 프론트엔드 개발자 등 포함)에게 지속적으로 배포가되고, 각 사용자들의 코드가 자동적으로 계속해서 합쳐지는 것이다. 이러한 과정에는 코드를 빌드하고, 테스트하고 배포하는 활동이 있다. 젠킨스 시종. 개발자는 코드만 짜고, 나머지 귀찮은 작업들을 젠킨스에게 맡긴다. Java Runtime 위에서 동작하는 자동화 서버이다. 빌드, 테스트, 배포 등 모든 것을 자동화해주는 서버이다. 젠킨스는 빈 껍데기 -> 다양한 플러그인들을 활용해서 각종 자동화 작업을 처리할 수 있다. 그 플러그인들을 조립해서 잘 돌아가게 하는 것 -> 일련의 자동화 작업의 순서들의 집합인 pipline을 통해 CI/CD 파이프라인을 구축한다. 젠킨스 플러그인 대표..

Tech/Microservices

Distributed Server - Zipkin in SpringBoot3

Before SpringBoot3 Sleuth(Tracing Configuration) -> Brave(Tracer Library) -> Zipkin From SpringBoot3 Micrometer(metrics, logs, traces) -> OpenTelemetry(metrics, logs, traces) -> Zipkin gradle settings implementation 'io.micrometer:micrometer-observation' implementation 'io.micrometer:micrometer-tracing-bridge-otel' implementation 'io.opentelemetry:opentelemetry-exporter-zipkin' application.prope..

Tech/Docker

How To launch MySQL as Docker Container

1. Comman Line docker run --detach --env MYSQL_ROOT_PASSWORD=dummypassword // to connect to the database from our application --env MYSQL_USER=social-media-user --env MYSQL_PASSWORD=dummypassword --env MYSQL_DATABASE=social-media-database --name mysql --publish 3306:3306 mysql:8-oracle 2. application.properties spring.datasource.url=jdbc:mysql://localhost:3306/social-media-database spring.dataso..

Tech/Kubernetes

GKE - 명령어들

$ kubectl version $ kubectl create deployment [..] --image=example/[..]:0.0.1.RELEASE $ kubectl expose deployment [..] --type=LoadBalancer --port=8080 $ kubectl get events -> Pod, ReplicaSet, Deployment, Service docker run -p 8080:8080 in28min/hello-world-rest-api:0.0.1.RELEASE kubectl create deployment hello-world-rest-api --image=in28min/hello-world-rest-api:0.0.1.RELEASE kubectl expose deploy..

Tech/Kubernetes

GKE - 클러스터 노드 사이즈 감소, 증가

클라우드 환경에서는 리소스를 사용하지 않을 때, 삭제하는 것이 가장 좋다. 이에 클러스터 노드 사이즈를 0으로 감소시키는 명령어는 다음과 같다. gcloud container clusters resize --zone --num-nodes=0 반대로 다시 노드의 숫자를 증가시키고자 한다면, 다음의 명령어를 입력하면 된다. gcloud container clusters resize --zone --num-nodes=3

Tech/JWT

JWT를 조금 더 안전하게 저장하기 & 쿠키와 웹 스토리지

이 글은 스프링에서 JWT,쿠키를 이용해 OAuth 인증을 구현하던 도중 아래 인용 글의 이론에 살을 붙여 코드를 작성하게 된 글입니다. 인용 https://prolog.techcourse.co.kr/studylogs/2272 우아한테크코스 학습로그 저장소 우아한테크코스 크루들이 배운 내용을 기록하는 학습로그 저장소입니다. prolog.techcourse.co.kr JWT란 모바일이나 웹에서 클라이언트와 서버 간 통신시, 사용자의 인증을 위해 사용하는 암호화된 토큰을 의미한다. 즉, JWT를 도입하여 액세스 토큰 및 리프레시 토큰을 사용해 토큰 유효성 검사를 하여 사용자를 인증할 수 있다. JWT 정보는 주로 통신 시, 헤더의 Authorization에 담아 전송되면 이것을 서버에서 검증하여 사용자의 정..

Tech/JWT

JWT(JSON Web Token) - parse, signWith Deprecated 업데이트 버전

JWT는 토큰 기반의 인증이다. 즉, 클라이언트는 인증이 필요한 API를 사용할 때 토큰을 함께 보낸다. 발급받은 JWT를 이용해 인증을 하려면 HTTP 요청 헤더 중에 Authorization 키값에 Bearer + JWT 토큰값을 넣어서 보내야한다. JWT 구조 JWT는 .을 기준으로 헤더.내용.서명으로 이루어져 있다. 헤더 헤더에는 토큰의 타입과 해싱 알고리즘을 지정하는 정보를 담는다. { "typ": "JWT", "alg": "HS256" } 내용 내용에는 토큰과 관련된 정보를 담는다. 내용의 한 덩어리를 claim이라고 부르며, 클레임은 키값의 한 쌍으로 이루어져 있다. 그리고 클레임은 등록된 클레임, 공개 클레임, 비공개 클레임으로 나눌 수 있다. 등록된 클레임은 토큰에 대한 정보를 담는데 사..

Tech/React

Event Bubbling and Propagation

✏️ 이벤트 버블링 이벤트 버블링이란 특정 화면 요소에서 이벤트가 발생하였을 때, 해당 이벤트가 더 상위의 화면 요소들로 전달되는 특성을 의미한다. 이러한 경우, event.target.id 가 아닌 event.currentTarget.id를 사용하여 실제 이벤트 함수가 실행되는 태그의 id를 가져올 수 있다. 또한 event.stopPropagation()을 사용하여 전파를 중단할 수 있다. ✏️ 이벤트 캡처링 이벤트 캡처링은 버블링과 반대로 상위에서 하위로 이벤트가 전파되는 단계이다.

kimjingyu
'Tech' 카테고리의 글 목록 (2 Page)