Infra

    [jenkins] 신입의 객기 - 자동화 여정 (End)

    이전 포스팅에 이어서 회사 서비스에 CI/CD 구축하기 전 팀원들과 진행하고 있던 토이 프로젝트에 간단한 배포 스크립트를 적용하였다. 그 과정에서 AWS EC2 프리티어의 메모리 문제나 사소한 권한 문제들로 애를 먹었지만 필요한 크리덴셜을 설정한다던지, ssh Key를 이용해서 서버와 서버 간의 접속 권한 문제를 해결한다던지 등 사소한 이슈들을 잘 헤쳐나갔다. 그리고 이슈를 해결을 하면서 대부분 자동화 배포 과정에서 생기는 문제들은 설계 상의 문제보단 권한의 문제가 크다는 것을 알게 되었다. 그리고 회사 서비스에 적용을 하기 위해선 보안도 엄격하게 고려해야 했다. 하지만 그 전에 토이 프로젝트의 개발 환경과 회사 서비스의 개발 환경이 완전히 다르다는 것이 문제였다. 적용 전에 맞닥뜨린 문제 팀원들과 진행..

    [jenkins] 신입의 객기 - 자동화 여정 (2)

    이전 내용 로컬에서 젠킨스를 테스트해 보기 위해 AWS EC2 인스턴스(리눅스)를 만들었다. 환경 셋팅을 진행하고 마지막으로 젠킨스를 설치하고 구동했지만 되질 않았다.. 그리고 이 내용은 이어지는 나의 삽질이다. 젠킨스 설치 일단 젠킨스 설치 과정에 대해서 기록한다. 생각보다 과정이 복잡하다. 참고로 젠킨스의 디폴트 포트는 8080이기 때문에 해당 포트를 이용하고 있다면 젠킨스 설정 파일에서 사용할 포트로 변경해줘야 한다. EC2 환경에선 인바운드 규칙도 추가해줘야 하겠다. 참고한 래퍼런스 https://velog.io/@yundleyundle/AWS-EC2에-Jenkins-설치하기 https://green-joo.tistory.com/12 위에 래퍼런스대로 진행한다면 아마 최신버전의 젠킨스를 다운로드 ..

    [jenkins] 신입의 객기 - 자동화 여정 (1)

    상황 1. 회사에서 운영 중인 서비스 중 CI/CD 구축이 안되어 있는 서비스가 있다. 2. 현재까지도 각 서버에 수작업으로 배포를 진행... 3. 타팀은 이미 구축했다던데... 4. 우리 팀은 왜..? 5. 뒤쳐지는 꼴 나는 못 봐. 6. 과감히 회의 때 CI/CD 구축을 건의드렸다. 7. 예, 제가 한번 객기를 부려보겠습니다. (문제는 내가 한 번도 해본 적이 없다는 것이죠^0^...) CI/CD란? Continuous Intergration / Continuous Deployment, 지속적인 통합과 지속적인 배포를 의미한다. 사실 CI/CD 필요성에 대해서 그동안 와닿기가 힘들었다(사이드 프로젝트는 운영하는 서버 하나에 보내면 됐으니깐). 근데 실무에서는 운영하는 서비스를 개발, 스테이징, 운영 ..

    [tomcat] Session Deep Dive

    클라이언트와 서버 간의 요청, 응답을 위해서 HTTP 프로토콜 사용한다. 거의 모든 웹서비스는 HTTP 프로토콜 기반이다. HTTP 프로토콜은 Stateless한 특징을 가지고 있기 때문에 매번 번거로운 사용자 인증, 인가 절차를 해결하기 위해서 Session과 Token 방식을 많이 사용하고 있다. Session과 Token의 차이점을 간단히 비교하고 본문의 내용에선 Session에 관한 부분을 Deep Dive 해보도록 하겠다. HTTP 프로토콜에 대한 이해 Stateless(무상태성)한 프로토콜이기 때문에 요청 - 응답 사이클마다 연결을 끊는다. 그렇다면 이전 사용자를 식별하기 위해서 어떤 방법을 사용해야 할까? Token, Session 방법이 있겠다. 요즘은 Token 방식을 많이 활용한다. S..