ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Jenkins] Github 연동 가이드
    관리 배포/jenkins 2020. 11. 6. 14:05

     

    안녕하세요. 이번 시간에는 Jenkins Docker 컨테이너를 구동 시킨 상태에서 SSH 키를 생성하고, Github와 인증을 하기 위한 Credentail 설정 방법에 대해서 알아보도록 하겠습니다.

     

    우선 Jenkins Docker 컨테이너에서 SSH 통신을 하기 위한 키를 생성합니다.

    Jenkins Docker 컨테이너에서 SSH 키 생성

    $ docker exec -it [jenkins 컨테이너 이름] ssh-keygen
    Created directory '/var/jenkins_home/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /var/jenkins_home/.ssh/id_rsa.
    Your public key has been saved in /var/jenkins_home/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:4X3F/isMl6fWkdkVdMT8NgZYhWLut3VIx8LS+/q2muk jenkins@2fbd2587df12
    The key's randomart image is:
    +---[RSA 2048]----+
    |            o.+*o|
    |           + + .+|
    |        . o .o+.o|
    |       . o ..o=o*|
    |        S o .o+**|
    |           + +oBo|
    |            = *.+|
    |             *o.+|
    |            oE+*o|
    +----[SHA256]-----+

    생성 된 Public SSH 키 검색

    $ docker exec -it [jenkins 컨테이너 이름] cat /var/jenkins_home/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdZUwGGtkXr984apajzoW4WRz1SA644diuGHBk+JH9HTf5iw9p4BvMfaGvI5AWv0bgKtzeFsbzok5j2NQeWKHjM/2wDdI4xx6W37PQTHgItKteneBpY33K2i93SPFX83o077Z+B/xJ85r1RwbFgRjWJ/36kP3viCYKY5jOMhK+R4skVFX5Z0HQMyyyWYX608Ay/D9lPd4bPoVZWdoQ/defMWQM7AzKGrsoKGmyzWz7Ye9lqhydUDU6bKv/AeQMVdIBAlSoFoNsqWJqDmXgRZQB8fzPKZRoPk9o+9sH7RUUuilhYHW7qTVYEy4y2nH1Cym5ZCJw9/7qSA3Zomn40K+3 jenkins@2fbd2587df12

    생성 된 Private SSH 키 검색

    $ docker exec -it [jenkins 컨테이너 이름] cat /var/jenkins_home/.ssh/id_rsa
    -----BEGIN RSA PRIVATE KEY-----
    MIIEowIBAAKCAQEAnWVMBhrZF6/fOGqWo86FuFkc9UgOuOHYrhhwZPiR/R03+YsP
    aeAbzH2hryOQFr9G4Crc3hbG86JOY9jUHlih4zP9sA3SOMcelt+z0Ex4CLSrXp3g
    aWN9ytovd0jxV/N6NO+2fgf8SfOa9UcGxYEY1if9+pD974gmCmOYzjISvkeLJFRV
    +WdB0DMsslmF+tPAMvw/ZT3eGz6FWVnaEP3XnzFkDOwMyhq7KChpss1s+2HvZaoc
    nVA1Omyr/wHkDFXSAQJUqBaDbKliag5l4EWUAfH8zymUaD5PaPvbB+0VFLopYWB1
    u6k1WBMuMtpx9QspuWQicPf+6kgN2aJp+NCvtwIDAQABAoIBABBKTq8HElcIReMx
    7PtxQZfN6Vhdp+Bsx59lOiTJMVrwLj3urZ64qkfk7NoSpTQlgfFrnkaCNv86WkCt
    TW8Cn2bDl8sj8xEbUsgsyRCTCY1lHaOCVZqyyG85W9ZNv2Tp90kJUmsC6pLA2tXu
    Dv5cGTT5GKlZXl7vSXijzEnzFsuItInCpavurJmFdbpJFNehkW2OBpaAtm0dG3aC
    VEJyVXvLIKoBYZjcI7LjlrvR98QXJo8wUpkit2RumO7yPa/XwlOoSer4DvRKwDNh
    nZbl/LqyAWiWZ3und2jTHrqt7H6kJ2loHZwIS2RkImCFkADFn2sUWKJ2SS884tUv
    6UcwY6ECgYEAyTNWXT42sELBLjVa+MhnP3ZVdRKuRsjlnxHw5VlhSBdakzJY/OOh
    0uP5U9fwIQod0uRBFTZRhGz/OJDbdbP2wBHsZqwXTPkfk4/U/Aq0ovQnrPVsMBuj
    Fw5GpMn5Ay/TVcDh9QeB2UfNusK1ZnITtm2TcgHGjRC9G6PkKraa30cCgYEAyEOt
    ME1stVLxoEuZGQotDq2ABkYOoaGyg3yFHqgKKhOvjCjPifJolPhQFeo8iKqKs3VW
    ZIfkvgtJPjtrSQQKS+OWy3qeyUo4/CzFjGLPfkGoMJQJ2m17IzVJQCNIh1L4COWK
    gQAEgh5nikjbsY+pboOkxNwUgqmlcBzORQd/RBECgYAT+T63nvd65AWderp/PBXT
    3QF6z9HxQPxaoENT4V2g9ICPYE4pPMfR0cPsqOEzxndTeklju7K3/MIRcX/33Ve/
    lYfsYWUmxQx3b63rH3zzOF2/89U7qWK1ZTtqHIrV4CeQucc0tfwT/+bShYXQl76R
    O6uJg9ecJW9AkTKTcvFI/QKBgQCd4ARbTN5DP+UuOgqym7wTkyGXUIleUIvbbkG/
    fjetHiHJO68JD+n0bqEr9aHNF60Kdpkp3ZutWlZeUhds01uOoheRx9P/2Zx86Iq/
    9nGfFgGSclImOSLXCb36axZVYEobMWHz+mCTd4amlHNlUlz+u5ccfmdI7pZ2gK73
    6kYhEQKBgFIzXqKdesXAFo9Db7Y0IGRO8pvWvWIyP//mL34UV9zPTmrMFQNVMmVA
    Ecu0okzn+hp2flmcAJKPHpxrWqbmlYUKegE9HN+ipUPbH88JXKDTrL2CIPe/9H6R
    qJm91qMj/CfIdnTjkpK9I99+VuojXmVj915mioNZSIWD9ln8IwpX
    -----END RSA PRIVATE KEY-----

     

     

    다음으로 github 사이트에서 Jenkins에서 생성한 Public 키 값을 등록합니다.

    checkout 받기를 원하는 레파지토리로 이동 후 [Settings] 버튼을 클릭합니다.

     

     

     

    Jenkins의 Public 키값을 등록하기 위해서 [Deploy keys] 탭을 선택합니다.

     

     

    [Add deploy key] 버튼을 클릭합니다.

     

     

     

    Jenkins Docker 컨테이너에서 생성한 Public SSH 키 값을 입력하고 [Add key] 버튼을 눌러서 적용합니다.

     

     

     

    마지막으로 [Jenkins 관리] 페이지로 이동하여 credentials을 설정합니다.

    credential 생성을 위해서 [Manage Credentials] 메뉴를 선택합니다.

     

     

     

    전체 도메인에서 적용 시키기 위해서 global 링크를 클릭합니다.

     

     

     

    [Add Credentials] 버튼을 클릭합니다.

     

     

     

    다음과 같이 필요한 설정 정보를 입력합니다.

    • Kind : SSH Username with private key
    • Private Key : Jenkins Docker 컨테이너에서 생성한 Private SSH 키 값을 입력

     

     

     

     

    이와 같이 설정을 마친 후 Jenkins Item 설정 시 [소스 코드 관리]에서 Credentials 입력 란에 위에서 생성한 Credential을 선택해주시면 됩니다.

     

     

     

    이상으로 Github와 Jenkins를 연동하는 방법에 대해서 알아보았습니다.

     

    댓글

Designed by Tistory.