【개인개발・망비록】Jenkins로 GitHub의 변경 검지→자동 테스트・결과 표시・메일 통지

3383 단어 Jenkins

개요


  • 개발중인 mac에 Jenkins 설치
  • GitHub 정기적으로 확인
  • 변경이 있으면 테스트를 포함한 빌드를 실시
  • 테스트 실패시 이메일 알림
  • 테스트 결과를 Jenkins 화면에서 확인

  • 환경


  • macOS Catalina 10.15.4
  • Jenkins 2.238
  • JDK 1.8.0_231 (build.gradle 내의 JDK 버젼과 맞춘다)
  • gradle6.4.1

  • 빌드 대상



    SpringBoot로 만든 웹 앱(gradle 프로젝트).
    JUnit4와 Selenied에 의한 테스트 코드 포함.

    Jenkins 초기 설정



    Jenkis는 brew services start jenkins에 달린다.

    메일 설정



    통지를 하는 송신원이 되는 메일 주소의 설정을 한다.
    Jenkins 관리 → 시스템 설정의 "Jenkins 위치", "Email 알림"을 ​​설정. Jenkins에서 메일을 조작 할 수 있도록 Gmail 보안 설정을 완료하십시오 ([참고]



    JDK, Git, Gradle 경로 설정



    Jenkins의 관리→Global Tool Configuration으로 진행하여 JDK·Git·gradle의 각종 패스를 통한다.
    Git과 gradle의 경로는 이것으로 좋은지 알 수 없습니다. . .
    아직 모르는 곳이 있지만 일단은 움직였다. . .
    【메모】
    eclipse에서 앱을 만들 때 JDK11을 사용하도록 설정했지만 왠지 Jenkins에서 빌드 할 때 JDK1.8에서 빌드를 시도하고 오류가 발생했습니다. 우선 build.gradle의 JDK 버전을 8로 다시 설정했습니다.

    작업 설정



    새로운 작업



    새 작업 만들기 → 작업 이름 입력 → 프리스타일 프로젝트 빌드 선택


    작업의 다양한 설정



  • 소스 코드 관리에 GitHub 저장소의 URL이 포함되어 있습니다

  • 빌드 트리거는 「SCM을 폴링」으로 하고, cron을 기재. 여기에서는 5분에 1회 GitHub를 보러 가서 변경이 있으면 빌드하는 설정으로 했다.

  • 빌드는 쉘의 실행으로 해, 쉘 스크립트 ./gradlew build 를 기재.

  • 빌드 후의 처리는 「JUnit 테스트 결과의 집계」 「E-mail 통지」를 설정.




    ※JUnit의 결과(XML 파일)의 출력처가 자신의 환경에서는 상기의 패스가 되고 있었다. 기본?

  • 결과



    GitHub에 변경 사항이 있으면 빌드가 시작됩니다 (변경없이 수동으로도 가능). 이번에는 모두 개인의 PC 환경이기 때문에 앱을 시작하지 않으면 실패한다.
    이미지는 작업을 정지하고 있기 때문에 S의 마크가 회색으로 되어 있지만, 빌드가 성공하면 파란색이 된다. 빨강은 실패.



    참고



    Jenkins 실천 입문

    좋은 웹페이지 즐겨찾기