CI/CD 적용 배경회사에서 주로 수동 배포를 진행하고 있는데 몇 가지 불편함을 느끼고 있습니다.SSH로 매번 서버에 접속해야 하는 번거로움휴먼에러 발생 가능성 특히 잘못된 profile 지정이러한 문제를 해결하고 배포 과정을 간소화하기 위해, 버니케어 프로젝트에 CI/CD를 적용했습니다.CI/CD Tools인터넷에서 CI/CD 도구를 검색해 본 결과, 주로 다음과 같은 조합으로 사용되는 것을 확인했습니다.Github Actions + AWSGithub Actions 단독JenkinsJenkins는 강력하고 실무에서 자주 사용하는 도구입니다. 하지만,별도 서버가 필요해 초기 비용이 증가하고,이는 비용절감 목표에 부합하지 않습니다.따라서, 추가 설치없고 한가지 툴로 구현할 수 있는 Github Action..
프로젝트 내에서 실시간 채팅을 웹 소켓을 이용해 구현했고, 개발 환경에서는 아무 문제 없이 동작했는데 배포 환경에서 websocket connection to failed가 발생했습니다. 해결 방법 /etc/nginx/sites-available/reverse-proxy.conf 파일 수정 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; location / { proxy_pass http://127.0.0.1:8081; proxy_http_version 1.1; # 추가 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; p..
서론 홈서버를 한대 운영중이고 nginx에 대해 공부중에 우분투 서버의 보안에 대한 포스트를 읽게 되었다. 이때 fail2ban을 알게 되었고 journalctl -f를 통해 외부에서 계속 홈서버에 접근시도하려는 것을 확인하였다. 이를 막기위해 fail2ban을 적용해보자. fail2ban이란? 공개 IP 주소를 갖는 컴퓨터에 ssh 서버를 열어 놓고 기다리면 전세계에서 접속 시도가 들어오는 것을 확인할 수 있다. 이를 막기 위해 사용하는 프로그램이 fail2ban이다. fail2ban은 서비스의 로그 파일을 읽어, 특정 IP에서 정해진 시간(findtime) 동안 정해진 횟수(maxretry)를 초과하여 접속에 실패했다면 정해진 시간(bantime) 동안 그 IP를 차단하는 간단한 서비스이다. 즉 ss..
서론 AWS EC2에 원격접속을 위해 ssh를 이용해 연결을 하는데 nginx를 적용할때마다 ssh접속이 끊기고 다시 접속할려고 시도할 때 timeout이 발생해서 접속하지 못하는 문제가 발생했다. 본론 EC2 인바운드 편집을 통해 80,22, 443포트에 대해 허용을 설정하고, EC2에 nginx를 설치한 뒤에 ufw를 통해 80, 443포트에 대한 방화벽을 열때 문제가 발생했다. 초반에는 nginx 자체적인 문제라고 생각했지만 여러번 인스턴스를 지우고 생성하고 nginx를 깔고 반복하다보니 ufw의 문제라는 것을 확인했다. ufw enable로 우분투 방화벽을 활성화시켰는데 80, 443만 허용하고 22번은 허용하지 않음으로 발생한 문제였다. 해결법 1. ufw를 건들지 않기 어차피 인바운드 편집에서..
Swap 메모리는 하드디스크 일부를 RAM처럼 사용하도록 만들어진 메모리입니다. 메모리를 초과하는 프로그램을 돌리는 경우 메모리의 부족으로 인해 메모리가 run out 되는 것을 막을 수 있습니다. 하지만 RAM이 아닌 하드디스크이기에 읽고 쓰는 속도가 느려지게 됩니다. 1. swap 파일 확인 먼저 swap 파일이 있는지 확인합니다. sudo free -m sudo swapon -s swqp 파일이 존재하면 작동을 중지합니다. sudo swapoff -a 2. swap 파일 생성 -l 뒤에 8G를 입력해서 8G의 추가적인 가상 메모리를 사용할 수 있습니다. sudo fallocate -l 8G /swapfile swapfile의 권한을 수정한 뒤, 해당 파일이 swap으로 동작하도록 만든다. sudo ..
실행환경 Ubuntu 22.04 Docker 설치방법 1. 우분투 시스템 패키지 업데이트 sudo apt update 2. 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 3. Docker의 공식 GPG키 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 4. DOcker의 공식 apt 저장소를 추가 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_rel..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.