본문 바로가기

전체 글84

Jenkins를 사용한 CI 구성 젠킨스의 설치 과정은 공식사이트에 잘 설명되어 있으니 설치방법에 대해서는 링크로 대신하겠습니다. Jenkins를 설치했으면 정상적으로 서비스가 동작하는지 확인합니다. sudo systemctl start jenkins sudo systemctl stop jenkins sudo systemctl restart jenkins Jenkins는 기본 포트가 8080이며, 혹시라도 접속이 안될 시 방화벽을 확인합니다. CI를 사용할 프로젝트를 생성합니다. 생성 시 Pipeline을 선택합니다. 그리고 Github에 pull request를 수신하기 위해서는 플러그인을 설치해야 합니다. GitHub Pull Request Builder 플러그인을 설치합니다. 플러그인을 설치 후 아까 만들어둔 프로젝트 설정으로 돌아.. 2021. 8. 5.
CI/CD 왜 필요한가? 진행하고 있는 프로젝트에 여러 기능들이 들어감에 따라 실제 서버에 배포하여 성능 테스트 및 개발을 동시에 진행해야 될 상황이 되었습니다. 그래서 지금까지는 Local 환경에서 테스트하고 개발하였지만, 이제는 실제 서버 환경에 배포도 하고 개발한 내용을 지속적으로 반영하는 등 CI/CD 작업이 필요해 보였습니다. CI..? CD..?🤔 우선 처음 CI, CD를 처음 사용해보는 것 이어서 개념을 정리하려고 합니다. CI (Continuous Integration) 지속적인 통합.. 왜 해야 할까요?? 많은 개발자들이 개발을 할 때 이젠 필수적으로 사용하는 것이 있습니다. 바로 버전 관리 툴(Git, SVN)입니다. 개발자들은 버전 관리 툴을 이용하여 기능별 feature를 만들고 개발하고 머지를 반복합니다... 2021. 8. 5.
Session Storage 선택과정 Storage라 하면 크게 SQL, NoSQL을 생각해볼 수 있습니다. SQL databases Db2 MySQL PostgreSQL Oracle Database Microsoft SQL Server NoSQL databases Redis MongoDB Elasticsearch Memcached 하지만 Session을 저장하기위해 사용하는 부분인 만큼 빠른 응답속도가 뒷받침되어야 했습니다. 여기서 잠깐 정리하자면 왜 빨라야 할까요? 현재 제가 토이 프로젝트로 진행하고있는 Careers에서는 로그인 세션을 저장하고 관리할 Storage를 찾고 있습니다. 당연히 서비스를 이용하기 위해서는 로그인을 한 상태여야 하며, 이는 서버가 모든 요청이 들어올 때 마다 Session Storage에 가서 Set-Cook.. 2021. 7. 29.
Jenkins를 통한 CI/CD 도입 젠킨스를 사용한 이유 https://github.com/f-lab-edu/careers 프로젝트를 어느정도 진행하다보니 CI/CD를 적용해야될 때가 되었다. 자바진영에서는 CI/CD 툴로 젠킨스를 가장 많이 사용하는 걸로 알고있다. 그래서 젠킨스의 CI/CD를 도입하여 프로젝트 개발에만 집중할 수 있도록 이참에 환경 구성을 해보았다. CI란 Continuous Integration 즉 지속적인 통합을 의미한다. 개발자가 개발을 하면 그 코드들은 결국은 다른 여러 개발자들과의 코드들과 Merge가 되어야 한다. 이때 CI를 반영하지 않고 나중에 몰아서 처리하게 된다면 Merge양과 범위에 따라 개발자들의 시간과 리소스를 투자해야 한다. 하지만 CI를 사용하면 CI툴이 특정 이벤트를 받아 빌드, 테스트, M.. 2021. 7. 7.