[TIL 23.03.06] 정 보 수 집

이승렬·2023년 3월 7일
0

항해99

목록 보기
33/34
post-thumbnail

CI/CD

CI : Continuous Integration

CI는 지속적인 통합을 의미하는 용어이다.

  • 개발자들이 자신이 작성한 코드를 주기적으로 빌드하고 테스트하는 과정을 자동화 하는 것을 의미한다.
  • 즉 코드를 우리가 작성할때마다 -> 해당 코드가 자동으로 테스트되고 빌드되어서 지속적으로 "통합" 하는 것이다.
  • 결국 코드 품질을 유지하고, 버그를 최대한 빨리 찾아내서 해결할 수 있는 장점이 있다.

CD : Continuous Deployment/Delivery

CD는 지속적인 통합을 의미하는 용어이다.

  • 지속적인 배포는 CI를 통해서 테스트 및 빌드된 코드를 자동으로 배포하는 것을 의미한다.
  • 개발자들은 이를 통해서 Release Process를 자동화하여 빠르게 소프트웨어를 배포할 수 있다.

어떤식으로 구현할까?

  • 일반적으로 젠킨스, 팀시티, 깃랩과 같은 도구를 통해서 구현하는 방법이 있다.

스프링부트를 사용할때 CI/CD 를 적용하는 방법.

  1. 소스 코드 관리 시스템(Git)을 사용하여 소스 코드를 관리한다.
  2. 빌드 도구(Maven, Gradle 등)를 사용하여 소스 코드를 빌드한다.
  3. 테스트를 자동화하고, 빌드된 어플리케이션을 실행할 수 있는 환경을 구성한다.
  4. 이를 위해 테스트 프레임워크(JUnit 등)를 사용하고, Docker와 같은 가상화 기술을 사용하여 실행 환경을 구성할 수 있다.
  5. CI 도구 (깃랩) 를 사용하여 지속적 통합 환경을 구성합니다. 이를 위해 CI 도구에 소스 코드를 연결하고, 빌드 및 테스트를 자동화한다.
  6. 빌드 및 테스트가 성공적으로 완료되면, 배포 자동화 도구를 사용하여 서버에 자동으로 배포한다.

오픈소스 모니터링

  • 오늘 기술매니저님과의 이야기에서 나왔던 이야기이다 추후에 더 작성하겠다.

.gitignore 가 안먹을때

참고: https://jojoldu.tistory.com/307

이때 문제가 되는 것은 ignore 처리된 파일이 캐시값을 가지고 있기 때문이다.
이때 캐시를 지워주면 된다.

git rm -r --cached .
git add .
git commit -m "fixed untracked files"
profile
Backend_Developer

0개의 댓글