전체 글42 [Jenkins] Nginx 무중단 배포 환경 설정 (3/3) - Build, Deploy Job 생성 및 Git, Server 계정 등록 젠킨스에서 편하게 관리하기 위해 build용, deploy용 두 가지 Job을 만듭니다.그전에 젠킨스에서 사용할 계정들을 미리 등록해 두면 Job을 만들 때 편하게 설정할 수 있습니다.SCM : gitea (Access Token)Server: Linux (SSH)- Credentials 추가 (Git 계정)1. Access Token 발급gitea는 gitea > 설정 > 어플리케이션 메뉴로 가면 토큰 생성할 수 있습니다.토큰 이름 입력하고 생성하면 토큰이 생기는 데 잘 저장해 놨다가 Jenkins에 추가하면 됩니다.(새로고침 하면 토큰 다시 생성해야 하니 주의)2. Credentials 등록Jenkins 관리 > Credentials 에서 (global)로 새로 만들어줍니다.Username with .. 2025. 9. 19. [Jenkins] Nginx 무중단 배포 환경 설정 (2/3) - Nginx 설치 및 conf 설정 젠킨스 설치가 완료됐다면, 젠킨스에서 배포할 서버(cloud 서버)에 웹서버를 설치해 줍니다.Blue/Green 방식으로 배포해야 하기 때문에 8081, 8082 포트를 사용합니다.이미 포트를 사용하고 있다면 다른 포트를 써도 상관없습니다.포트 열려있는지 확인은 netstat -lntp | grep 80로 조회해 볼 수 있습니다. - Nginx 설치 sudo yum install epel-release -ysudo yum install nginx -y웹서버 설치는 아주 간단한데 위 코드만 입력하면 됩니다.sudo systemctl enable nginxsudo systemctl start nginxsudo systemctl status nginx엔진엑스를 시작해 주고 상태확인을 하면 Active:acti.. 2025. 9. 18. [Jenkins] Nginx 무중단 배포 환경 설정 (1/3) - Docker 위에 젠킨스 설치 (Ubuntu) 젠킨스를 처음부터 설정해야 해서 하는 김에 무중단 배포가능하게 해보려고 합니다.기존에는 Jendkins Job도 하나로 통일했는데 그러면 build 하다가 에러 났을 때 서버도 같이 내려가기 때문에 나눴습니다.무중단배포하려면 여러 가지 방법이 있는데 이번에는 Blue/Green 방식으로 진행합니다.Blue/Green 방식을 간단히 말하면, 기존에 A서버가 실행하고 있으면 새로운 B서버를 띄우고 A서버를 내리면 됩니다.그러면 서버 중단없이 배포가 가능합니다. 저는 서버가 한대라서 포트로 나눌 예정입니다.서버: local서버 (Docker, Jenkins), cloud서버 (Nginx)Jenkins Job: Build, Deploy - Docker 설치1. 기존 도커 제거 (혹시 깔려있다면)sudo apt.. 2025. 9. 17. Spring Boot 텍스트 Captcha 적용 방법 * Captcha 란?Captcha는 웹사이트와 온라인 서비스의 안전성을 유지하기 위해 필수적인 도구입니다. 사용자가 실제 사람인지 확인함으로써 여러 문제를 예방하고 해결하는 데 중요한 역할을 합니다.Captcha의 주요 목적은 스팸 봇이나 자동화된 프로그램이 무분별하게 접근하지 못하도록 차단하거나 로그인 등의 중요한 작업에서 악용을 막아 보안을 강화합니다. * Captcha 종류Captcha는 크게 3가지 종류로 나뉩니다.텍스트 Captcha: 왜곡된 글자나 숫자를 사용자에게 보여주고, 이를 입력하게 합니다.이미지 Captcha: 여러 개의 이미지 중 특정 조건에 맞는 이미지를 선택하게 합니다. 예) "모든 자전거를 선택하세요."reCaptcha: 구글이 개발한 Captcha로, 단순히 텍스트를 입력하.. 2024. 8. 16. [JQuery] 뒤로가기 접근 시 이벤트 뒤로가기로 페이지 접근 했을 때, BFCache 이슈가 생기면 여러가지 방법으로 처리 가능합니다. Spring에서 HttpServletRespose을 사용하여 no-cache 처리할 수도 있고, Html 상에서 no-cache 설정할 수도 있지만 간단하게 아래처럼 스크립트에서 처리했습니다. $(window).bind("pageshow", function(e){ if(e.persisted || (window.performance && (window.performance.navigation.type == 2))) { // 여기에 로직 작성 } }); window.performance.navigation.type == 2 / 뒤로가기 (BFCache 사용) 2023. 11. 17. [JQuery] serializeObject 미동작 해결 방법 가끔가다가 serializeObject 가 제대로 동작하지 않는 이슈가 있었습니다. 아마도 태그가 제대로 안 닫혔거나 name이 제대로 없거나 하는 오류가 존재했던 것 같은데 어떨 땐 되고 어떨 땐 안 되는 게 이상합니다. serializeObject 가 제대로 동작하지 않을 땐, serializeArray로 form을 리스트로 가져온 후 Object로 만들어주었습니다. var list = []; var obj = {}; var cnt = 0; var array = $("#form").serializeArray(); array.forEach(function(data, idx){ if(data.name.split('.')[0].indexOf(cnt) == -1){ list.push(obj); obj = {.. 2023. 11. 15. 이전 1 2 3 4 ··· 7 다음