Devops/CI

    [AWS] LocalStack을 사용하여 S3 Bucket에 파일 업로드/다운로드

    개발을 하다보면 데이터베이스, 파일 저장소 등 인프라를 필연적으로 사용하게 된다. 하지만 로컬 환경, 테스트 환경에서도 실제 구동되고 있는 머신을 사용하는 것은 불필요한 자원들을 소모할 수 있다. 통합 테스트를 격리된 환경에서 진행할 수 없다는 단점도 있다. 이를 위해 나온 솔루션이 바로 LocalStack 이다! aws의 서비스인 Lambda, S3, DynamoDB 등등 다양한 서비스를 로컬환경에서 구동할 수 있다. RDS, IAM 등 유료버전에서만 제공하는 기능, 서비스들도 있다. 로컬스택이 동작하는 방식이나 테라폼, 스프링 클라우드와 연동 등 더 다양한 설정이 궁금하다면 공식문서를 참조하자. 역시 공식 문서를 보는 것이 제일 정확하고 깔끔한 것 같다. 환경설정 다른 블로그를 보면 보통 locals..

    [Github Action] gradle을 이용한 java CI 구성하기

    Github Action Github 저장소를 기반으로 소프트웨어 개발 workflow를 자동화 할 수 있는 도구 장점 별도의 서버 설치가 필요 없다. 비동기 ci/cd가 가능하다. github 이벤트에 대한 작업을 제공해준다. yaml로 사용하기 때문에 개발자들에게 친숙하다. github 마켓 플레이스를 통해 공유 가능 단점 캐싱이 필요할 경우 자체 캐싱 메커니즘을 작성해야 함 (엔터프라이즈에선 actions/cache를 지원하지 않는다고 한다. 참고) 젠킨스에 비해 문서가 적다. (아무래도 출시 일자가 차이가 나기 때문인듯) 구성요소 workflow 프로젝트를 빌드, 테스트, 패키지, 릴리스 또는 배포하기 위한 전체적인 프로세스 여러개의 job으로 구성되며 디폴트로 병렬 실행한다. event 기반으로..