June

    AWS EC2 인스턴스 종료시 스크립트 수행

    개요 가끔 인스턴스를 작업하면서 인스턴스가 종료되기 전 어떤 것이든 동작을 수행해야할 때가 있다. 예를들면 아래의 경우가 그러하다. - 해당 서버의 로그를 특정 데이터 서버로 업로드할 경우. 앞서서 배포의 방식을 롤링에서 블루그린으로 전환하면서, 기존의 인스턴스들이 삭제되기 시작하였다. 그래서 인스턴스가 지워지기 전 소 중 한 로그 들을 S3에 업로드 하는 스크립트를 제작해 보았다. 환경 환경은 Amazone Linux 2 이다. Amazone 계열의 리눅스는 RHEL 7환경이 기반이다. CentOS로 따지면 버전 7 과 동급이기 때문에, 아래의 방법들은 CentOS7 혹은 Amazone Linux 2 이상의 환경에서만 적용된다. 방법 리눅스의 시스템은 부팅이 시작, 종료, 중지 등 여러 가지 상황이 주..

    Jenkins pipeline으로 Slack notification 받기

    개요 Jenkins는 현재 웹솔루션 개발단에서 사용하는 써드파티 툴이다. 젠킨스를 통하여 빌드, 업로드, 배포 등이 이뤄지는데, 각 단계별로 적절한 알람을 받아보자. 알람을 전달받는 매체는 slack 이라는 메신저를 사용한다. 구조 1) 젠킨스 파이프라인을 통하여 AWS 코드 디플로이를 트리거 2) 배포의 시작과 종료 알람 전달 3) 배포의 성공 실패 여부 알람 전달 4) 문법 : Groovy 단계 1) Slack 채널 생성 2) 채널 설정 -> Add apps 클릭 3) Jenkins CI 플러그인 설치 4) TOKEN 생성 > TOKEN은 항상 보안유지에 신경 쓸 것! > Jenkins CI 트리거를 발생시키는 주소 : https://{your-workspace-name}.slack.com/servi..

    Source Tree + AWS Code Commit 사용하기(1) 설치편

    Git / Bit bucket / Code Commit 등 어떤 레파지토리를 사용하여 개발환경을 구성하는지는 여기저기에서 말이 많다. 전반적으로 마이다스아이티 웹솔 개발자분들은 Bit bucket을 사용하고 계시지만, 운영팀의 입장에서는 AWS가 더 친밀할 수 밖에 없다. 그래서 Source Tree와 AWS Code Commit에 새로운 환경을 구성해보자!! 온라인에는 여러 안내가 잘 나와있는 듯 하지만, 불필요한 과정도 있고 소스트리를 사용하는 우리 환경에 맞지 않는 느낌도 있어서 다 요약하여 기록한다. > 소스트리 설치 https://www.sourcetreeapp.com/ Sourcetree | Free Git GUI for Mac and Windows A Git GUI that offers a ..

    이슈트래커 YONA 사용하기(2) - 백업

    개요 Yona는 여러명이 사용하는 이슈 트래커이자, 코드 저장소이다. 그런 공간이 만일 서버의 문제나 휴먼 에러로 인하여 장애가 발생한다면, 꽤 많은 유효정보들을 손실하게 될 것이다. 이에 대응할 수 있도록 백업 서비스를 만들어 보자. 백업대상 (현재 내장형 DB인 h2 DB를 사용중이다.) yona.h2.db yona.trace.db [dir]repos - 코드 저장소 파일 [dir]uploads - 업로드 첨부 파일 [dir]logs 백업방식 증분 백업 방식 - 최초 1회 백업 수행 후, 변경 된 사항들만 원하는 주기에 맞추어 백업 하는 방식 저장소 : AWS S3 백업주기 및 유지 정책 백업주기) 매일(cron 새벽 4시) 백업 유지 정책) 7일간 증분 백업본 및 로그 유지, 이후 삭제 과정 1) ..