
Jenkins 배포 승인 프로세스 구성 1 - 개요
2023. 5. 21. 21:00
인프라/Jenkins
프로세스 구성도 프로세스 설명 Build Job : (개발자) Jenkins 파이프라인 빌드 Request Approval : (Jenkins) 파이프라인 진행 Pause → 승인 요청 메세지를 전송하는 커스텀 API 호출 Send Message : (API) 승인자의 이메일 또는 슬랙 채널에 승인 요청 메세지를 전송 Approval : (승인자) 승인 요청 확인 → 승인하기 또는 반려하기 선택 Call API : (슬랙 또는 이메일) - 승인 : 파이프라인을 정상적으로 진행시키는 커스텀 API 호출 - 반려 : 파이프라인 진행을 취소시키는 커스텀 API 호출 Call Jenkins Rest API : (API) - 승인 : 파이프라인 Puase 단계에 계속 정상 진행하라는 상태값을 담아 Jenkins ..
[flask + uwsgi] Dockerfile
2023. 4. 29. 16:33
인프라/Docker
1. Flask 파일 (application.py) from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "Hello World!" 2. Flask로 만든 application 실행시키는 파일 (wsgi.py) from application import app if __name__ == "__main__": app.run() 3. uwsgi 설정 파일 (uwsgi.ini) [uwsgi] module=wsgi:app processes=2 http-socket=:5000 die-on-term=true vacuum=true master=true 4. Dockerfile FROM python:3.9 RUN pip ins..

오픈소스 모니터링 Prometheus & Grafana에 대해서
2023. 3. 13. 14:51
인프라/APM
이 글에서는 상세한 설명이나 구축 방법은 작성하지 않았습니다. Prometheus의 개념을 간단히 정리하고자 한 글입니다. Prometheus 란? Prometheus는 그리스 신화에서 불을 인간에게 주고 문명을 선사한 티탄 신입니다. 위처럼 그 의미 그대로 오픈소스 모니터링 시스템 Prometheus는 개발자 닌간의 예지력과 지성을 상승시켜주는 유용한 도구입니다. 이 도구를 통해 개발자는 웹, 서버, DB 등 다양한 시스템의 상태를 쉽게 분석할 수 있고 특정 조건이 발생하면 경고를 보내게 하여 미리 장애를 예방할 수도 있습니다. ※ Prometheus는 Apache2 라이선스를 가진 완전한 오픈소스입니다. Prometheus 구조 구조는 일반적인 모니터링 시스템과는 다릅니다. 대부분의 솔루션은 메트릭을..

Docker Swarm & Tomcat Session Clustering
2023. 2. 14. 18:37
인프라/Docker
다중 호스트 환경에서 도커로 톰캣 세션 클러스터링을 구축하고자 할 경우, 도커도 클러스터링 환경이 필요하다. 도커 스웜의 overlay 네트워크를 통해 다중 호스트 환경의 컨테이너들도 클러스터링 될 수 있다. 다만, overlay 네트워크에서는 멀티캐스팅이 불가해 유니캐스트 방식으로 설정해야 한다. (단일 호스트 환경에서는 도커 bridge 네트워크를 통해 멀티캐스팅 방식으로 톰캣 클러스터링 가능함) 환경 호스트 VM1 : 192.168.137.100 VM2 : 192.168.137.101 도커 스웜 VM1 : Manager VM2 : Worker 세팅 방법 : https://onestone-note.tistory.com/143 Docker Swarm 구축 환경 노드: 192.168.137.100 (Ma..

Docker Swarm 구축
2023. 2. 12. 21:54
인프라/Docker
환경 노드: 192.168.137.100 (Manager) 192.168.137.101 (Worker) 방화벽 오픈 Manager default port: 2377/tcp node communication: 7946/tcp, 7946/udp overlay network: 4789/udp firewall-cmd --permanent --zone=public --add-port=2377/tcp firewall-cmd --permanent --zone=public --add-port=4789/udp firewall-cmd --permanent --zone=public --add-port=7946/udp firewall-cmd --permanent --zone=public --add-port=7946/tcp f..