본문 바로가기

분류 전체보기

(21)
Git Action 으로 배포 자동화하기 혼자 작업할 때는 크게 불편하지 않기도 하고, 예전에 Git Action을 시도했다가 실패하기도 했어서 손수 배포를 했었는 데, 협업을 하는 상황에선 아무래도 불편하다보니까 다시 시도해보았다. 잘 모르겠는 부분이 아직 있긴 하지만, 테스트 & 배포 작업을 수행하는 Git Action 이 의도대로 잘 적용되어서 글로 정리해본다. 0. Git Work Flow 가장 최소한의 시나리오를 가정해 브랜치들을 세팅해두었다 main: 실제 릴리즈된 소스 관리 deploy : 테스트 서버에 배포된 소스 관리 develop : 개발 작업 소스 관리 develop -> deploy -> main 으로 반영하며, develop -> deploy 에 대해 테스트 & 테스트 서버 배포를 수행하는 Git Action을 적용해보았..
유저에게 도커 권한 주기 카테고리를 도커로 할지 리눅스로 할지 조금 고민했는 데, 일단 도커로! 우분투에서 도커를 실행할 때 가끔 이런 문구를 볼 때가 있다. Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied 내가 접속한 유저가 도커 명령어를 실행할 권한이 없을 때 발생한다. 좀 더 길게 말하면, 도커 데몬에 연결하려다 실행파일을 실행할 권한이 없어서 발생한다. /var/run..
계정 별 SSH 설정 리눅스를 사용하다 보면 사람마다, 또는 서비스마다 계정을 나누는 경우들이 종종 있다. 세팅되어있는 상태로 사용하기만 하다가 처음으로 계정의 ssh 키를 만들어 공유해보았다. 복습 겸 사이드 프로젝트의 테스트 서버에도 앱을 위한 계정을 만들고 ssh 키를 발급했고 기록용으로 남긴다. 1. 계정 생성 기존에 있는 계정이나 그룹을 먼저 확인해본다. cat /etc/passwd cat /etc/group 적당한 이름으로 새로 유저를 만들어준다. 아래는 예시로 test1 이란 이름으로 만든다. sudo adduser test1 그럼 test1(그룹아이디)란 그룹과 test1(유저 아이디)가 새로 생성되고 /home 아래 유저명으로 된 디렉터리가 생성된다. 2. ssh 키 발급 ssh 키를 발급하는 명령어는 아래와..
아주 간단한 Spring Boot 배포 사이드 프로젝트 백엔드를 Spring Boot로 만들고 있는 데, 어느 정도 로컬에서 개발하고 난 뒤 테스트 서버(EC2)에 배포해두었다. 소스를 실행가능한 jar 파일로 만들어서 구동시키는 진짜 간단한 방법이라 정리할 게 별로 없지만, 테스트 서버 패치 겸, 같이 하는 다른 친구에게도 공유할 겸 써보았다. 1. 대상 소스를 jar 파일로 빌드 사이드 프로젝트에서 기능 단위로 개발 및 테스트를 마치면 back-develop에 머지해두기 때문에, 내 경우엔 back-develop 브랜치에 머지가 되는 시점의 소스! 이 소스를 jar 파일로 빌드한다. gradle bootJar 빌드된 파일은 build/libs/--.jar 에 위치한다. jar vs bootJar gradle jar 로 만들면 -plain...
TLS 1.0 은 취약하다! nginx에 ssl_protocols를 따로 설정하지 않으면 기본 값으로 TLSv1, TLSv1.1, and TLSv1.2 등을 지원한다 (nginx 버전 0.7.65 이상, OpenSSL 버전 1.0.1 이상). 근데 TSLv1 까지는 보안에 취약하다!! 뚠!! 그래서 1.TLSv1 vs TLSv1.1 vs TLSv1.2의 차이랑 2. nginx에서 사용하는 TLS 버전 확인 방법, 3. nginx 에서 TLS 버전 변경 방법, 정확히는 버전 1을 사용하지 않는 방법을 정리해보았다. TLSv1 vs TLSv1.1 vs TLSv1.2 1. TLSv1.1 이 TLSv1과 다른 점 (RFC 4346) - CBC 모드에 대한 공격에 방어하기 위해 명시적인 Initialization Vector(IV)가 아닌 ..