[트러블슈팅] Jenkins와 Github Actions로 CI/CD 구축 중 무한 빌드 문제 해결하기
·
⭐project/petiary
Jenkins와 Github Actions로 CI/CD를 구축하는 과정에서 계속해서 문제가 생겼다.Github Actions로 Jenkins 트리거는 잘 이루어졌으나, Jenkins에서 빌드가 무한 로딩 상태에 빠져버리는 현상이 발생한 것이었다.  문제 상황   빌드가 실패하지는 않았다. 차라리 실패라도 했으면 원인을 알고 해결을 했을 텐데, 이유도 모르고 그냥 무한 빌드 상태에 빠져버리니 직접 종료-재실행만 반복하는 상황이었다. 콘솔 로그는 다음 메시지만 반복해서 출력되었다. Still waiting to schedule taskWaiting for next available executor 원인을 파악하고 해결하는데 3일 이상이 소요되었고, 문제 해결 과정을 기록해본다.접근 1. Executor 설정..
[깃&깃허브] 그림으로 알아보는 Git HEAD
·
🖥️develop/Github
Git의 비밀을 풀어보자: HEAD씨의 기묘한 모험Git을 사용하다 보면 "HEAD"라는 것을 종종 보게 됩니다. 커밋 히스토리를 살펴보거나, 브랜치를 생성할 때 등장하는 HEAD. 도대체 뭘 의미하는건지 그 정체가 궁금하신 분도 계실겁니다. 이번 포스팅에서는 HEAD의 본질을 그림과 시나리오로 설명해보려고 합니다.😎1. HEAD씨의 첫 걸음, main 브랜치HEAD씨가 Git 세상에 첫 발을 내디뎠습니다. 어쩌다보니 물 위에서 스폰된 HEAD씨를 위해, 발판을 만들어줍시다. 발판은 커밋을 통해 만들 수 있습니다.  새로운 커밋이 생성될 때마다 HEAD 씨가 있는 브랜치에 발판이 추가됩니다. 💡정리브랜치만 있으면 아무것도 할 수 없습니다. commit을 통해 브랜치에 새로운 정보를 입력할 수 있습니다..
[책 리뷰] 나의 첫 HTML & CSS 웹 디자인 학습 후기
·
📕review/책
저의 첫 웹 프로그래밍 경험은 20살, 대학생 1학년 때였습니다. 당시에는 웹 프로그래밍에 별로 흥미를 느끼지 못했습니다. 입력하는 족족 브라우저에 반영되는 것이 신기하긴 했다만, 그뿐이었고 오히려 margin이니 padding이니 하나하나 설정해주어야 하는게 너무 귀찮았습니다. 더욱이 기말 프로젝트에서 미디어 쿼리 기반 반응형을 구현하면서 질려버렸고, 휴학하고 복학하여  3학년이 될 때까지 html, css는 쳐다도 보지 않았습니다.고등학생 때부터 게임 개발자가 꿈이었기에 웹 프로그래밍은 쳐다도 안봤고, 게임 개발자 꿈을 접고 인공지능을 공부할 때 까지만 해도 웹 프로그래밍은 안중에도 없었습니다만..어쩌다보니 지금은 프론트엔드 개발자를 준비하고 있습니다. 3년전과는 다르게 이제는 CSS가 제일 재미있는..
[Springboot] 0부터 시작하는 스프링부트 도전기 #2. Create
·
🖥️develop/Backend
프로젝트 버전 변경Spring Initializr에서 프로젝트 생성 때 3.4.0 버전으로 생성하였는데, 교재는 3.1.0 버전을 사용하여 원활한 진행을 위해 스프링부트 버전 변경을 해주었습니다. 스프링부트 버전은 build.gradle 파일을 수정하여 쉽게 변경할 수 있습니다. 위 부분을 3.1.0으로 변경하고, 옆에 나타나는 코끼리 아이콘을 클릭하면 버전 변경 완료입니다.    폼 데이터HTML 요소인 태그에 실려 전송되는 데이터  태그는 웹 브라우저에서 서버로 데이터를 전송할 때 사용합니다. 어디로(where), 어떻게(how) 보낼지 등을 적어서, 서버에 전송하는 것입니다. DTOData Transfer Object, 데이터를 전달하는 객체태그에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아..
[Springboot] 0부터 시작하는 스프링부트 도전기 #1. 스프링부트 프로젝트 생성하기
·
🖥️develop/Backend
백엔드가 너무 싫고 맨날 백엔드는 싫어 절대 안할거야 외쳤지만 컨퍼런스 로또 전부 다 광탈해서 돈 주고 들을 수 있는 컨퍼런스는 백엔드뿐이였고 여기저기 다니다보니 백엔드도 할만할 것같고 그와중에 언니들 다 스프링부트 스터디 한다는데 나만 안하면 소외감 들고 눈물이 날 것 같아서 어쩌다보니 시작하는 스프링부트 도전기 스프링부트를 위한 환경 설정1. JDK 설치먼저 JDK 버전부터 확인해야 합니다. 진짜  시작부터 이러기 있나...싶었는데 JDK가 없으면 이렇게 나온다더라구요..분명 자바 프로그래밍도 했어서 JDK가 없을  수가 없을 텐데🧐. 많이 수상하지만 일단 없다니까 OpenJDK 설치를 해야합니다. (설치 링크 자동 완성도 되는데 상당히 수상하다) 21-LTS가 있고, 17-LTS가 있는데, 일단 ..
[Next.js] 로그인 뒤로가기로 접근 제한하기-router.push vs router.replace
·
🖥️develop/Frontend
인계받은 프로젝트를 확인하던 중 재밌는 상황을 발견했습니다. 로그인 후 홈 화면에서 뒤로가기 버튼을 누르면, 다시 로그인 페이지로 돌아가는 문제였습니다. 상단의 GNB(글로벌 네비게이션 바)를 보면, 로그인 상태임이 분명한데, 콘텐츠 영역에서 로그인 페이지가 표시되는 부자연스러운 상황이었습니다. 생각해보면, 로그인 상태에서는 뒤로가기를 눌러도 로그인 페이지가 표시되지 않는 것이 자연스러운 흐름일텐데, 이 상황은 UX와 보안 측면에서 정상적인 서비스 플로우는 아니라고 판단하여 사용자가 뒤로가기를 눌러도 로그인 페이지로 돌아갈 수 없도록 로그인 페이지 접근 제한을 구현하기로 했습니다. 해결 방법처음에는 토큰 유무를 확인해 리다이렉트 처리하는 방법으로 접근했습니다.이전 프로젝트에서도 이런 방식으로 권한 별 접..