Github Issue 생성시 Feature Branch Auto Generate

Github Issue 생성시 Feature Branch Auto Generate

개요

  1. Jenkins Plugin 설치
  2. Github Hook 설정
  3. Jenkins 파이프라인 설정

Jenkins Plugin 설치

  1. Jenkins Generic Webhook Plugin 이 필요하다.
    • Generic Webhook Trigger plugin 설치 진행
      • https://plugins.jenkins.io/generic-webhook-trigger/

        Github Hook 설정

  2. Github Project 의 Settings 의 Webhook 설정에서 설정을 진행한다.
    • Payload URL 에 Jenkins 주소 입력
      • http://[host]/generic-webhook-trigger/invoke?token=[token] => invoke 부분은 추가 보안 설정임 추후에 Jenkins 에서 설정 진행
    • Let me select individual events 클릭 후 ISSUE 체크박스 체크
    • image

      Jenkins 파이프라인 설정

  3. Build Triggers 설정
    • Buid Trigger 의 Generic Webhook Trigger 선택
      • image
    • Webhook 에서 Json Path 로 Branch 생성에 필요한 Issue 정보 받아서 Param 으로 변환
      1. 이슈 정보
        • TITLE / $.issue.title
      2. Action
        • ACTION / $.action
      3. HTMLURL
        • HTMLURL / $.repository.html_url
      4. REPONAME
        • REPONAME / $.repository.name
      5. OWNER
        • OWNER / $.repository.owner.login
  4. TOKEN 설정
    • Github 의 TOKEN 이 아닌 Webhook 시 보안을 위한 Token 을 설정한다.
      • Build Triigers 아래의 Token 항목에서 설정.
  5. Pipeline Script 설정
         node {
           stage('hello') { // for display purposes
               echo "$TITLE"
               echo "$ACTION"
               echo "$HTMLURL"
               echo "$REPONAME"
           }
           stage ('create repo') {
                 // Git 사용을 위해서 Jenkins 에 Git username 과 token Secret 는 생성 해 놓아야 한다. 
                 withCredentials([usernamePassword( credentialsId:'maxHyeon',usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD')]) {
                 //echo "$TOKENID"
                 //echo "$TOKEN"
                 //echo "$HTMLURL".substring(0,7).concat("$TOKENID").concat(":").concat("$TOKEN").concat(8)
                 String FULLURL = HTMLURL
    
                 def BASEURL = FULLURL.substring(8)
                 sh '''
                   # 다른 plugin 없이 git 자체의 명령으로 최소화 함
                   rm -rf ./$REPONAME
                   git clone https://$GIT_USERNAME:$GIT_PASSWORD@$BASEURL -b develop
                   cd $REPONAME
                   git checkout -b feature/$TITLE --track origin/develop
                   git push origin feature/$TITLE
                   cd ..
                   rm -rf ./$REPONAME
                 '''
    
               }
            }
         }
    
    

2021

Openshift Gitlab Helm 설치

less than 1 minute read

Openshift Gitlab Install Openshift Gitlab Helm Install Helm Repo Add 레퍼런스는 여기 확인 https://docs.gitlab.com/cha...

리눅스 CR/LF 변환 파이썬 & 끝에 라인개행 들어간 파일 제거

less than 1 minute read

##개요 리눅스의 라인개행은 윈도우의 라인개행과 다르다. 고객의 요청으로 많은 건수의 파일을 이동할 일이 있었는데, 파일 리스트를 윈도우에서 작성해서 넘어오는 바람에 원치않은 라인개행 문자가 파일 끝에 들어가게 되어 해결방법을 남긴다. 파일 리스트 라인개...

Back to Top ↑

2020

Back to Top ↑

2019

Linux(RHEL) raw-device 생성

less than 1 minute read

raw-device OS의 캐싱없이 DB나 다른 시스템에서 직접 캐싱을 사용하려고 할 때 쓰인다.

SSH PasswordLess 로그인

less than 1 minute read

SSH Passwordless 로그인을 위해선 SSH 공개키 배포가 필요하다. 테스트 OS RHEL7 서버 구성 sshServer - sshClient sshServer -> sshClinet로 ssh 비밀번호 없어 접속 ...

Openshift 4.2 설치

1 minute read

레퍼런스. https://docs.openshift.com/container-platform/4.2/installing/installing_vsphere/installing-vsphere.html?extIdCarryOver=true&sc_cid=701f2000001OH74A...

Parted 사용법

less than 1 minute read

Parted 명령어 2TB 이상부터는 Fdisk 파티션 분할이 어렵다. Parted를 사용하자

Back to Top ↑