250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- top_k
- 상관관계
- grad-cam
- airflow subdag
- hadoop
- youtube data
- API
- flask
- session 유지
- 유튜브 API
- Retry
- XAI
- requests
- API Gateway
- gather_nd
- chatGPT
- integrated gradient
- 공분산
- Counterfactual Explanations
- BigQuery
- GenericGBQException
- spark udf
- tensorflow text
- UDF
- login crawling
- correlation
- Airflow
- TensorFlow
- GCP
- subdag
Archives
- Today
- Total
데이터과학 삼학년
[Jenkins] 파이프라인 빌드시 git branch목록을 선택하여 배포! 본문
반응형
jenkins에서 ui상에 git branch목록을 나타내서 선택후 배포하는 방법은
1. jenkins list git branches 이용하여 목록화 하는 방법
2. git parameter를 사용하고 scm으로 git url 받는 방법
그러나 1, 2번 2가지 케이스를 사용하지 못하는 경우가 있다. 간혹 직접 파이프라인을 만들어야한다던가, 버전의 문제로 list git branches 플러그인을 설치하지 못하던가..
이럴때는
젠킨스 파이프라인에서 직접 git에 붙어 브랜치 목록을 가져와 만드는 방법이 있다.
- 내부에서 groovy로 브랜치 목록을 가져오는 함수를 만들고
- parameter 선언에서 choice할 목록을 넣어준다.
젠킨스 파이프라인
def getGitBranches(repoUrl) {
node {
def branches = []
try {
branches = sh(script: "git ls-remote --heads ${repoUrl} | cut -d / -f 3-", returnStdout: true).trim().split("\n")
echo "params: ${branches}"
} catch (err) {
echo "Error getting Git branches: ${err}"
}
return branches.collect { it.trim() }.findAll { it }
}
}
pipeline {
agent any
parameters {
choice(
name: 'BRANCH_NAME',
choices: getGitBranches('https://github.<>.git') ,
description: 'Select the branch to build'
)
}
stages {
stage('Checkout and merge') {
steps {
git url: "${GIT_URL}", branch: "${params.BRANCH_NAME}", credentialsId: "${GIT_CREDENTIALS_ID}"
echo "parmas:BRANCH_NAME= ${params.BRANCH_NAME}"
sh """
git checkout ${params.BRANCH_NAME}
git status
"""
}
}
}
}
참조
728x90
반응형
LIST
'DevOps' 카테고리의 다른 글
Airflow execution_date (logical_date) (0) | 2023.09.05 |
---|---|
쿠버네티스(Kubernetes) (0) | 2023.07.24 |
[GIT] pre-commit을 이용한 코드 스타일 관리 (0) | 2023.04.21 |
[Airflow] task별 개별 적으로 retry, timedelta 설정 (0) | 2023.03.23 |
[Airflow] SubDag을 이용하여 MainDag과 스케쥴을 다르게 설정하기!!!!! (feat. ChatGPT) (0) | 2023.03.13 |
Comments