post-custom-banner

jenkins GUI Web에서 초기 설정하기

gui web 접속

  • 초기 admin 비밀번호를 입력후 continue를 누른다.
// 초기 admin 비밀번호는 initialAdminPassword 파일에 있다.
// 해당 명령어 결과를 복사하여 붙여넣는다.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword


  • jenkins에서 추천하는 플러그인들을 설치한다.

  • 그리고 회원가입 후 시작페이지에 들어간다.

jenkins item 만들기

  • item 이름을 설정하고 'Freestyle project'를 선택한 뒤 OK를 누른다.

  • github 프로젝트 url을 붙여넣는다

    • github에 올릴 spring boot application 주소를 넣는다.

  • github 레포지터리 url을 붙여 넣는다.

  • 깃헙에 대해 jenkins credentials 를 만든다
    • Username에는 깃헙 아이디
    • Password에는 깃헙 비밀번호를 기입한다.
    • Add 버튼을 눌러 생성한다.
    • 방금 생성한 credential을 선택한다.
  • private 저장소 설정하기

  • Poll SCM 의 Schedule 란에 * * * * * 을 기입한다.
    • 분 시간 일 월 주 간격으로 job을 실행하는 의미이다. (참고)
      • 2 * * * : 2분 간격으로 job을 실행하는 것이다
        -
        * * * * : 매 분 간격으로 job을 실행한다
      • 젠킨스는 매분 간격으로 github에서 commit이 생길 떄마다 clone하여 빌드한다.

  • spring boot 의 build.gradle을 실행하기 위해 'Invoke Gradle script'를 선택한다.

  • Gradle Wrapper를 사용가능하게 만들고, Wrapper의 위치 기입한다.
    • wrapper는 스프링 부트 프로젝트의 루트 경로에 있으므로 ./을 입력
    • Tasks란에 docker를 기입한다.
      - gradle의 docker 라는 task를 실행한다.

  • 나머지 task(build docker, dockerTagDockerHub)를 실행한다.
    • 단, '--exclude-task test'옵션을 붙여 빌드 오류가 나지 않도록한다.
      • build.gradle에서 해당 task에 대한 test 코드를 입력했다면 '--exclude-task test'옵션이 필요하지 않다.
  • 위의 Task들을 실행하면 젠킨스는 자동적으로 github에서 clone한 스프링 부트 소스를 도커 이미지로 만든다.

  • jenkins가 gradlew로 만든 도커 이미지를 run 하는 명령어를 입력하기 위해서 'Execute shell'를 선택한다.

  • docker rm -f spring_example_app
    • spring_example_app 이라는 이름의 컨테이너를 먼저 remove한다.
  • docker run -d --name spring_example_app -p 80:80 --network docker-network guswns3371/spring-example:1.0-SNAPSHOT
    • spring_example_app 이라는 이름의 컨테이너를 run한다.
    • -p 80:80 : 포트는 80으로 설정한다.
    • --network docker-network : docker-network라는 네트워크에 연결한다.
    • guswns3371/spring-example:1.0-SNAPSHOT : 도커 이미지 이름이다.

  • apply후 저장한다.
post-custom-banner

0개의 댓글