반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- grafana
- QueryDSL
- Netty
- Docker Compose
- mybatis
- Hibernate
- argo cd
- JPA
- Spring Open Feign
- RabbitMQ
- WebLogic
- netflix oss
- spring boot redis
- Selenium
- redis
- docker
- jmeter
- vue.js
- spring boot
- MySQL
- coalesce
- ChannelPipeline
- cassandra
- docker-compose
- docker compose mysql
- Airflow
- Redis Sentinel
- spring cloud
- weblogic 10
- KAFKA
Archives
- Today
- Total
IT.FARMER
Jenkinsfile 에서 변수 사용방법 본문
반응형
Jenkinsfile 에서 변수사용시 차이점
${env.propertie-name} 과 ${properties}의 차이는 env. 으로 시작되는 파일은 Jenkins 에서 변수로 생성해둔 파일을 사용할때 사용한다.
이프로젝트는 매개변수가 있습니다 를 체크한다 이후 String Parameter.. 등등 선택하여 매개변수명을 등록한다.
이후 위에서 언급한바와같이 ${env.매개변수명} 을 입력하여 사용한다.
또한 Jenkins 에서는 사용할수 있는 환경변수들이 있는데 그중 하나가 BUILD_NUMBER 이다.
빌드넘버는 여기 히스토리에 표시되는 값과 동일하다.
해당값을 이용하여 Jenkins의 execute shell 탭에서 활용 할 수도 있다.
이렇게 하면 Jenkins 빌드넘버로 jar 파일을 관리하며 다운로드 할 수 있다.
해당 부분을 다시 gradle parameter로 보내어 빌드 번호로 RELEASE를 관리 할 수도 있다.
-PbuildNumber 를 사용하여 mudule을 gradle 로 빌드할때 젠킨스에서 gradle 로 parameter를 전달할수있다.
-P는 옵션 buildNumber는 property(parameter name) 이다.
gradle clean bootJar --parallel --build-cache -PbuildNumber=${ECS_SERVICE}\#${BUILD_NUMBER}
gradle 변수 전달 방법 옵션
- -D : jvm 단위에 제공되는 변수전달방법
- -P : project 단위에 전달되는 변수전달법 , gradle 속성용
- build.gralde file 에서 jar packaging 시에 다음과 같이 project.getProperty 로 빌드 번호를 가져올수 있다.
// gralde 빌드 명령어 예시 // gradle build bootJar -PbuildNumber=101 // build.gradle file String buildNumber if(project.hasProperty('buildNumber')){ buildNumber = project.getProperty('buildNumber') filesMatching("**/*.properties") { expand( buildNumber: project.getProperty('buildNumber') ) } archiveFileName = "${archiveBaseName.get()}-${buildNumber}.${archiveExtension.get()}" } else { archiveFileName = "${archiveBaseName.get()}-.${archiveExtension.get()}" } doLast { if(project.hasProperty('buildNumber')){ println "번호 : " + buildNumber } }
- ${archiveBaseName.get()}
- 프로젝트모듈 이름
- ${archiveExtension.get()}
- 확장자명
- project.getProperty('buildNumber')
- gradle build 에서 -P 옵션으로 준 값
- build.gralde file 에서 jar packaging 시에 다음과 같이 project.getProperty 로 빌드 번호를 가져올수 있다.
gradle build bootJar -PtestUser=Sangkil project.getProperty(”testUser”)
결과
8:49:51 PM: Executing 'bootJar -x test -PbuildNumber=10'...
> Task :asciidoctor UP-TO-DATE
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :bootJarMainClassName UP-TO-DATE
> Task :bootJar
번호 : 10
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.8/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 2s
5 actionable tasks: 1 executed, 4 up-to-date
8:49:53 PM: Execution finished 'bootJar -x test -PbuildNumber=10'.
이렇게 함으로 Jenkins 에서 사용중인 변수들을 gradle 에서 받아 사용 할 수 있다.
반응형
'Auto Build(CI SCM GIT) > Jenkins' 카테고리의 다른 글
Jenkins 자원부족에 의한 교착 상태 Waiting for next available executor (0) | 2024.04.25 |
---|---|
jenkins pipeline 구성 - sshPublisher (0) | 2023.03.27 |
Jenkins SSH 원격지 배포 (0) | 2016.10.19 |