ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Jenkins & Github 연동
    우아한 테크코스/이것저것 2020. 8. 2. 00:13
    반응형

    Github Access 토큰 발급

    [Github] - 프로필 선택 - [Settings]

    [Github] - [Profile] - [Developer settings]

    Developer Settings 선택

    [GitHub Apps]

    Personal access tokens

    [Personal access tokens]

    Generate new token

    [New personal access token]

    토큰 생성

    - repo / admin:org / admin:repo_hook - Generation token

    Personal access tokens 생성 키 확인

    생성이 완료되면 token 값 생성, (주의) 이 때 저장해놓지 않는다면 다시 token 값을 확인할 수 없음

    Access Token을 이용해 Jenkins에 Github 연결

    [Jenkins 관리] - [시스템 설정]

    [Jenkins 관리] - [시스템 설정] - [GitHub] - [Add GitHub Server]

    Domain : Global credentials (unrestricted)
    Kind : Secret text
    Scope : Global (Jenkins, nodes, items, all child items, ect)
    Secret : Git에서 생성한 Token 복사 붙여넣기
    ID : jamie9504 - 식별자로 사용할 ID
    Description : jenkins

    Test connection 후 Credentioals verified for user (ID), rate .... 확인

    저장

    Jenkins 프로젝트 생성

    [새로운 Item]

    [Enter an item name]

    Item명 : Project명으로 지정하고 싶은 이름

    Freestyle Project로 설정

    GitHub project에 url 입력

    소스 코드 관리에 git 추가

    Repository URL : 레파지토리 URL 입력

    Credentials : Add - Jenkins

     

    [Jenkins Credentials Provider: Jenkins]

    Domain : Global credentials (unrestricted)

    Kind : Username with password

    Scope : Global (Jenkins, nodes, items, all child items, etc)

    Username : Github 아이디

    Password : Github 비밀번호

    Add

    [빌드 유발]

    GitHub hook trigger for GITScm polling

    [빌드]

    Use Gradle Wrapper 체크

    Make gradlew executable 체크(하지 않으면 권한 에러로 빌드 불가)

    Tasks : 빌드시 사용할 gradle Task

    빌드 실패

    빌드를 시도했는데, 실패한다.

    이유가 무얼까 고민해봤는데 구조가 이렇게 되어있어서인 것 같음

    재설정

    - Root Build script만 넣었는데 안되어서 확인해보니 Build File을 build.gradle이라도 적어줬어야 했다 :<

    성공

    [생성된 파일 로깅하기]

    Bulid 단계에 다음과 같이 추가 - Execute shell

    echo "생성된 jar 파일" ; cd backend/board/build/libs/; ls -a *.jar

    Jenkins Build Console log

    끝! 다음은 CI/CD 적용을 해야겠다.

    반응형

    댓글

Designed by Tistory.