분류 전체보기
-
Nginx와 GunicornIT 2025. 3. 6. 10:02
Gunicorn과 Nginx 항상 많이 들어왔지만, 그 용도를 정확하게 알지 못합니다. 일단 Gunicorn에 대해서 알아봅시다. Gunicorn은 Django, Flask 등등의 파이썬 웹프레임워크랑 같이 사용되는 기술입니다.Gunicorn(Green Unicorn)은 Python Web Server Gateway Interface(WSGI) HTTP 서버입니다.Python으로 이루어진 웹 어플리케이션의 높은 트래픽을 쉽게 처리할 수 있는 가볍고 안정적인 서버입니다. Django나 Flask의 개발환경의 웹 서버는 보안적으로나, 성능적으로 검증되지 않아서 배포 환경에 적합하지 않다는 이유가 있습니다. 그래서 파이썬 스크립트, 어플리케이션들을 gunicorn으로 실행하고 이것을 웹 서버와 연결하는 방식으..
-
[NAS] Docker Container 환경변수 파일로 전달하기.IT 2025. 2. 27. 17:08
우리는 secret key 또는 api key 같은 것들을 코드에 공개해놓으면 안되고 숨겨놔야해요.왜인지는 피해 사례 검색해보시면 알듯.. 아무튼:! 우리는 이런 것들을 서버에 환경변수로 저장해서 불러오도록 해볼게요.-e 를 사용해서 그냥 변수로 전달할 수 도 있겠지만 환경변수가 많아지면 계속 이어 붙일 수 가 없기 때문에 파일로 보내기로 했습니다.. Dockerfile에 ENV를 선언하지 않아오 되요,일단 저는 파일 .env 파일을 하나 만들어서 특정 경로 에 넣고 그리고 거기에 환경변수를 적는데test=123 이런식으로 적습니다 따옴표" 나 띄어쓰기는 하지 않습니다.다 적고 나서 도커 이미지를 실행시킬 떄 아래와 같이 명령어를 사용하는데요. jenkins 서버는 다음과 같이 실행합니다. -- env..
-
[CI/CD] docker에 postgresql을 설치하고 django랑 연동해보자 [4]IT 2025. 2. 20. 10:28
삽질을 하고 돌아왔습니다. 시작해봅시다. 1. Docker에 postgresql 설정일단 nas 서버 내에 postgresql 데이터를 저장하기 위한 특정 폴더를 만들건데요. 아래와 같이 nas 서버에 데이터 저장 폴더를 생성합니다.mkdir -p /mnt/nas/postgres_datachmod 777 /mnt/nas/postgres_data 그 후, docker container를 만들어줍니다.sudo docker run -d \ --name dev-postgres \ -e POSTGRES_USER= \ -e POSTGRES_PASSWORD= \ -e POSTGRES_DB=dev_postgres \ -p 5433:5432 \ -v /mnt/nas/postgres_data:/var/lib/p..
-
[CI/CD] jenkins에서 django에 대한 자동화 [3]IT 2025. 2. 5. 11:41
이번에는 django backend 코드의 테스트 코드를 jenkins에서 자동으로 돌리기 위해서 설정을 할건데요. 이번에도 삽질을 많이 했어요. 일단.!django에 대한 테스트 코드를 돌리기 위해서는 docker in docker 라는 것을 해야한다고 하더라구요.왜냐하면.! jenkins 서버가 지금 docker container로 돌려지고 있고, 그 안에서 docker로 이루어진 django 프로젝트의 테스트 코드를 돌려서 테스트를 해야하기 때문에~ 설정을 해야합니다.그래서 docker를 run 할때 특정 조건을 더 넣어줘야하는데요 sudo docker run -d \ --name jenkins-server \ # 본인이 실행할 docker container 이름 --u root \ # ..
-
[CI/CD] GitHub Webhook을 연결하기 위한 IP 변환하기 [2]IT 2025. 1. 21. 17:21
자 이제 자동화를 위한 세팅을 진행해봅시다. 1. GitHub에 접속해서 연결한 Private Repository로 이동합니다.거기에 setting에 가면 webhook이 있는데 클릭 후 add webhook을 클릭 그럼 이제 payload url에 http://:8090/github-webhook/ 을 작성content type은 application/json으로 하고,Secret은 입력 안해도되고SSL verification은 Enable SSL verification그리고 웹훅 어떤 이벤트로 트리거할거예요? 는Just the push event로 해줍니다. 그리고 Active를 check 후 저장그러면 이제 빨간 색 경고 문양이 보이고, redelivery를 해도 연결이 안된다고 할겁니다. 개빡쳐..
-
[CI/CD] Synology Nas에 Jenkins를 설치하고, GitHub을 연동하자 [1]IT 2025. 1. 21. 16:54
일단 하려는 것이 무엇인지 설명하겠습니다.GitHub의 main branch에 직접적으로 코드가 PUSH되거나 아니면 다른 branch에 의해서 main branch로 코드가 MERGE되면, 그것을 인식해서 Webhook으로 Jenkins로 변화에 대해서 전달하고, 이후 Jenkins에서 자동적으로 코드 변화를 Build하는 그런 것을 하고 싶어서 했습니다. 여기서 GitHub Repo의 종류는 Private Repository 입니다. 1. GitHub Private Repository 만들기저는 connect_jenkins라고 만들어줬습니다. 2. Profile 눌러서 setting가서 Developer settings로 갑니다.그러면 Personal access tokens라고 나오는데, 여기서 T..
-
[JS] DOM의 개념과 DOMContentLoaded와 onload 이벤트IT 2024. 12. 26. 09:43
DOM 이란?DOM은 Document Object Model의 약자 입니다.문서 객체란 이나 같은 html 문서의 태그들을 JavaScript가 이용할 수 있는 객체로 만들면 그것을 문서 객체라고 합니다. DOMContentLoaded브라우저는 DOM 트리 구성을 위한 HTML 파싱 -> 스타일과 HTML 규칙이 포함된 렌더 트리 구축 -> 렌더 트리를 정해진 순서대로 배치 -> 배치한 렌더 트리 화면에 그리기 의 렌더링 과정을 거친다.일반적으로 브라우저는 HTML 파싱하는 도중 스크립트 구문을 만나면 파싱을 잠시 멈추고 스크립트를 실행한다.이러한 브라우저의 동작 때문에 HEAD요소에 있는 SCRIPT 파일은 BODY 요소보다 먼저 읽히게 되어 문제가 발생 DOMContentLoaded 이벤트는 HTM..