778 lines
No EOL
27 KiB
XML
778 lines
No EOL
27 KiB
XML
<?xml version='1.1' encoding='UTF-8'?>
|
|
<project>
|
|
<actions/>
|
|
<description>빌드 가이드 문서
|
|

|
|
https://lgtest.atlassian.net/wiki/spaces/FE/pages/78217452/AOS+Jenkins</description>
|
|
<keepDependencies>false</keepDependencies>
|
|
<properties>
|
|
<jenkins.model.BuildDiscarderProperty>
|
|
<strategy class="hudson.tasks.LogRotator">
|
|
<daysToKeep>15</daysToKeep>
|
|
<numToKeep>-1</numToKeep>
|
|
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
<removeLastBuild>false</removeLastBuild>
|
|
</strategy>
|
|
</jenkins.model.BuildDiscarderProperty>
|
|
<hudson.model.ParametersDefinitionProperty>
|
|
<parameterDefinitions>
|
|
<hudson.model.StringParameterDefinition>
|
|
<name>url</name>
|
|
<description>LT환경 설정화면이 없이 고정주소 빌드가 필요할때 사용해 주세요.
|
|
공백일경우 앱시작시 LT환경 설정이 나옵니다.
|
|
(http또는 https를 포함한 주소를 넣어주세요. 공백이 포함되거나, 마지막 /가 포함되면 정상 실행이 되지 않을수 있습니다.)</description>
|
|
<trim>false</trim>
|
|
</hudson.model.StringParameterDefinition>
|
|
<hudson.model.StringParameterDefinition>
|
|
<name>modify_app_id</name>
|
|
<description>App ID를 변경합니다. 'com.lguplus.mobile.cs' 에서 추가로 값이 추가되어 운영버전의 앱과 중복 설치 가능하게 됩니다.
|
|
예를들어 myapp로 설정시 App ID 'com.lguplus.mobile.cs.myapp'으로 빌드되며, 앱이름은 '당신의 U+ (myapp)로 설정됩니다. 앱아이콘은 dev띠를 두릅니다.
|
|
공백일경우 운영과 동일한 App ID로 빌드됩니다.
|
|
(텍스트내 공백무시, 대문자 무시, 기호불가, 10자 한정, 10자 초과시 자름)</description>
|
|
<defaultValue>dev</defaultValue>
|
|
<trim>true</trim>
|
|
</hudson.model.StringParameterDefinition>
|
|
<hudson.model.TextParameterDefinition>
|
|
<name>slack_message</name>
|
|
<description>빌드 완료시 Slack에 메세지를 보낼때, 어떤용도의 빌드인지 알기 위한 판별용 메세지입니다.
|
|
등록된 사용자의 경우 멘션(@김아무개) 사용도 가능합니다.</description>
|
|
<trim>false</trim>
|
|
</hudson.model.TextParameterDefinition>
|
|
<hudson.model.ChoiceParameterDefinition>
|
|
<name>branch</name>
|
|
<description>빌드할 브런치입니다. 특정 feature 브런치용 빌드를 원하신다면 설정에서 이 항목에 추가해주세요.
|
|
(수정권한이 없으면 앱파트에 요청해주세요.)</description>
|
|
<choices class="java.util.Arrays$ArrayList">
|
|
<a class="string-array">
|
|
<string>main</string>
|
|
<string>develop</string>
|
|
<string>release/7.0.6</string>
|
|
<string>release/7.0.7</string>
|
|
<string>release/7.0.10</string>
|
|
<string>release/7.0.11</string>
|
|
<string>release/6.0.38_test</string>
|
|
<string>feature/DCBGIT-21704_U+2.0크롬판별_이슈</string>
|
|
<string>feature/DCBGIT-20848_LT빌드-자동화</string>
|
|
<string>feature/DCBGIT-18853_딥링크_이동페이지_변경</string>
|
|
<string>feature/DCBGWBS-6721_가속화002_챗봇</string>
|
|
<string>feature/DCBGQA-6078_용어사전pdf_다운로드이슈</string>
|
|
<string>feature/DCBGIT-24352_디바이스식별자전달</string>
|
|
</a>
|
|
</choices>
|
|
</hudson.model.ChoiceParameterDefinition>
|
|
<hudson.model.ChoiceParameterDefinition>
|
|
<name>slack_channel</name>
|
|
<description>알림을 보낼 Slack 채널을 선택합니다.</description>
|
|
<choices class="java.util.Arrays$ArrayList">
|
|
<a class="string-array">
|
|
<string>디지털fe-앱빌드</string>
|
|
<string>디지털fe-앱빌드_테스트</string>
|
|
</a>
|
|
</choices>
|
|
</hudson.model.ChoiceParameterDefinition>
|
|
<hudson.model.BooleanParameterDefinition>
|
|
<name>debuggable</name>
|
|
<description>디버깅 가능한 빌드인지 여부입니다. 체크시 디버깅 가능한 빌드로 빌드 됩니다.</description>
|
|
<defaultValue>true</defaultValue>
|
|
</hudson.model.BooleanParameterDefinition>
|
|
<hudson.model.BooleanParameterDefinition>
|
|
<name>share</name>
|
|
<description>외부공유용 (Firebase 이용)</description>
|
|
<defaultValue>false</defaultValue>
|
|
</hudson.model.BooleanParameterDefinition>
|
|
<hudson.model.BooleanParameterDefinition>
|
|
<name>obfuscation</name>
|
|
<description>난독화를 할지 여부 입니다.</description>
|
|
<defaultValue>false</defaultValue>
|
|
</hudson.model.BooleanParameterDefinition>
|
|
<hudson.model.BooleanParameterDefinition>
|
|
<name>release</name>
|
|
<description>메인 url을 제외한 빌드세팅을 Release환경으로 선택하여 빌드 합니다. (메인 url은 위에 있는 url필드 값을 따라갑니다.)</description>
|
|
<defaultValue>false</defaultValue>
|
|
</hudson.model.BooleanParameterDefinition>
|
|
<hudson.model.TextParameterDefinition>
|
|
<name>BuildData</name>
|
|
<description>빌드용 스크립트입니다. 터치하지 마세요.</description>
|
|
<defaultValue>---
|
|
############################ Properties ############################
|
|
|
|
property:
|
|
workspace: '${WORKSPACE}'
|
|
slackChannel: '${slack_channel}'
|
|
slackMessage: '${slack_message}'
|
|
branch: '${branch}'
|
|
url: '${url}'
|
|
appID: '${modify_app_id}'
|
|
share: '${share}'
|
|
obfuscation: '${obfuscation}'
|
|
release: '${release}'
|
|
urlValue: https://mstg.lguplus.com
|
|
fileUrl: http://febuild.uhdcsre.com:8080/job/mcs-aos/${BUILD_NUMBER}/artifact/app/build/outputs/apk/mobileCS/lt/{FILE}
|
|
urlMessage: ''
|
|
appIDMessage: ''
|
|
portValue: ''
|
|
enableDevTool: 'true'
|
|
gradlePath: <!property.workspace>/app/build.gradle
|
|
stringsPath: <!property.workspace>/app/src/main/res/values/strings.xml
|
|
manifestPath: <!property.workspace>/app/src/main/AndroidManifest.xml
|
|
buildPath: <!property.workspace>/app/build/outputs/apk/mobileCS/lt
|
|
config: |
|
|
{
|
|
"version": "VERSION",
|
|
"versionCode": VERSION_CODE,
|
|
"gitHash": "GIT_HASH",
|
|
"buildDate": "BUILD_DATE"
|
|
}
|
|
templateLt: |
|
|
lt {
|
|
debuggable ${debuggable}
|
|
signingConfig null
|
|
|
|
buildConfigField 'boolean', 'ENABLE_DEVTOOL', "{ENABLE_DEVTOOL}"
|
|
buildConfigField 'boolean', 'DEV', "${debuggable}"
|
|
buildConfigField 'String', 'DEBUG_LOG_TAG', '"MobileCS_STG"'
|
|
buildConfigField 'String', 'HTTP_WEB_URL', '"{HTTP_URL}"'
|
|
buildConfigField 'String', 'WEB_URL', '"{URL}"'
|
|
buildConfigField 'String', 'PUSH_APPLICATION_ID', '"custm_FCM1"'
|
|
buildConfigField 'String', 'PUSH_SERVICE_ID', '"30153"'
|
|
buildConfigField 'String', 'PUSH_URL', '"http://222.231.13.33:5556"'
|
|
buildConfigField 'String', 'PUSH_AUTH', '"auth=0000002359;C20384A50EBCD4FD2A1B"'
|
|
buildConfigField 'String', 'CHATBOT_URL', '"https://chatbot-stg.lguplus.com/?fromChan=APP"'
|
|
buildConfigField 'String', 'FIDO_URL', '"https://stg-onps.uplus.co.kr"'
|
|
buildConfigField 'String', 'FIDO_BIZ_API_URL', '"https://stg.uplus.co.kr/uhdc/fo/apcm/authbio/v1"'
|
|
buildConfigField 'String', 'FIDO_SITE_ID', '"SIT01UPLUS0000000000"'
|
|
buildConfigField 'String', 'FIDO_SVC_ID', '"SVC01SIT01UPLUS00000"'
|
|
buildConfigField 'String', 'USIM_AGENT_API_KEY', '"a6AwmI2XEWup9MALI/Z/ASzDs87gcNmKifk2iyUUChs="'
|
|
buildConfigField 'String', 'SERVER_TYPE', '"STG"'
|
|
buildConfigField "java.util.Map<String, String>", "LT_ENVIRONMENT_MAP", "new java.util.HashMap<String, String>() {{ " +
|
|
" put(\"QA (https)\", \"https://mstg.lguplus.com\");" +
|
|
" put(\"QA\", \"http://mstg.lguplus.com\");" +
|
|
" put(\"운영\", \"https://app.lguplus.com\");" +
|
|
" put(\"PRE\", \"https://mpre.lguplus.com\");" +
|
|
" put(\"DEV\", \"http://mdev.uplus.com\");" +
|
|
"}}"
|
|
|
|
manifestPlaceholders = [buildType: ""]
|
|
}
|
|
templateRelease: |
|
|
lt {
|
|
debuggable ${debuggable}
|
|
minifyEnabled false
|
|
shrinkResources false
|
|
signingConfig null
|
|
|
|
buildConfigField 'boolean', 'ENABLE_DEVTOOL', "{ENABLE_DEVTOOL}"
|
|
buildConfigField 'boolean', 'DEV', "${debuggable}"
|
|
buildConfigField 'String', 'DEBUG_LOG_TAG', '"MobileCS"'
|
|
buildConfigField 'String', 'HTTP_WEB_URL', '"{HTTP_URL}"'
|
|
buildConfigField 'String', 'WEB_URL', '"{URL}"'
|
|
buildConfigField 'String', 'PUSH_APPLICATION_ID', '"custm_FCM1"'
|
|
buildConfigField 'String', 'PUSH_SERVICE_ID', '"21016"'
|
|
buildConfigField 'String', 'PUSH_URL', '"http://upushgw.uplus.co.kr:5556"'
|
|
buildConfigField 'String', 'PUSH_AUTH', '"auth=0000002415;CDAC132152FCB4F4499F"'
|
|
buildConfigField 'String', 'CHATBOT_URL', '"https://chatbot.lguplus.com/?fromChan=APP"'
|
|
buildConfigField 'String', 'FIDO_URL', '"https://onps.uplus.co.kr"'
|
|
buildConfigField 'String', 'FIDO_BIZ_API_URL', '"https://app.lguplus.com/uhdc/fo/apcm/authbio/v1"'
|
|
buildConfigField 'String', 'FIDO_SITE_ID', '"SIT01UPLUS0000000000"'
|
|
buildConfigField 'String', 'FIDO_SVC_ID', '"SVC01SIT01UPLUS00000"'
|
|
buildConfigField 'String', 'USIM_AGENT_API_KEY', '"mV/yWnRgD2wQn5sjzokKGVJZDdVKDnLPkvS4cG+jwZE="'
|
|
buildConfigField 'String', 'SERVER_TYPE', '"PROD"'
|
|
buildConfigField "java.util.Map<String, String>", "LT_ENVIRONMENT_MAP", "new java.util.HashMap<String, String>()"
|
|
|
|
manifestPlaceholders = [buildType: ""]
|
|
}
|
|
slackMessageAdd: |
|
|
"text": "<!property.slackMessage>",
|
|
slackMessageJson: |
|
|
{
|
|
"channel": "<!property.slackChannel>",
|
|
{SLACK_MESSAGE}
|
|
"attachments": [
|
|
{
|
|
"color": "#81CA3F",
|
|
"author_name": "Android",
|
|
"fields": [
|
|
{
|
|
"value": "```Builder: ${BUILD_USER}\nJob URL: ${BUILD_URL}\nBranch: ${GIT_BRANCH}\nGitHash: ${GIT_COMMIT}\nVersion: {VERSION}\nVersion Code: {VERSION_CODE}\nRelease 환경: ${release}\n{URL}DevTool 활성: {DEVTOOL}\n{APPID}Date: {DATE}```"
|
|
}
|
|
],
|
|
"image_url": "https://api.qrserver.com/v1/create-qr-code/?data={FILE_URL}&size=150x150",
|
|
"actions": [
|
|
{
|
|
"type": "button",
|
|
"name": "build",
|
|
"text": "Download",
|
|
"url": "{FILE_URL}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
|
|
|
|
|
|
############################# Pipeline #############################
|
|
|
|
pipeline:
|
|
id: main
|
|
workflow:
|
|
# Set app info
|
|
- exe: create-app
|
|
|
|
# Set envValue
|
|
- if:
|
|
condition-bool: <!property.release> == true
|
|
on-true:
|
|
- exe: set-release
|
|
on-false:
|
|
- exe: set-lt
|
|
|
|
# Set urlValue
|
|
- contain:
|
|
list: <!property.url>
|
|
target: '{url}'
|
|
on-false:
|
|
- exe: parse-url
|
|
- if:
|
|
condition-string: <!property.port> != 443
|
|
on-true:
|
|
- if:
|
|
condition-string: <!property.port> != 80
|
|
on-true:
|
|
- exe: set-port
|
|
- exe: set-url
|
|
|
|
# Gradle에 Signing 정보 입력
|
|
- exe: gradle-read
|
|
- exe: append-sign
|
|
- exe: replace-http-url
|
|
- exe: replace-url
|
|
- exe: replace-env
|
|
- exe: gradle-write
|
|
|
|
- contain:
|
|
list: <!property.appID>
|
|
target: '{modify_app_id}'
|
|
on-false:
|
|
- exe: set-appid-message
|
|
# 앱이름 변경
|
|
- exe: strings-read
|
|
- exe: app-rename
|
|
- exe: strings-write
|
|
|
|
# 파일 권한 및 아이콘 변경
|
|
- exe: manifest-read
|
|
- exe: replace-icon
|
|
- exe: replace-permission
|
|
- exe: manifest-write
|
|
|
|
# Listing Files
|
|
- exe: files
|
|
- foreach:
|
|
iterator: <!property.files>
|
|
setValue: <@property.file>
|
|
on-do:
|
|
# Pacckage name replace
|
|
- exe: file-read
|
|
- exe: replace-package
|
|
- exe: file-write
|
|
|
|
# Config 작성
|
|
- exe: set-config
|
|
- exe: write-config
|
|
|
|
# Gradle 빌드
|
|
- exe: build
|
|
|
|
# Slack Message가 빈값일때 empty 세팅
|
|
- contain:
|
|
list: <!property.slackMessage>
|
|
target: '{slack_message}'
|
|
on-true:
|
|
- exe: set-slack-message-empty
|
|
|
|
# Listing Build Files
|
|
- exe: files-build
|
|
- foreach:
|
|
iterator: <!property.files>
|
|
setValue: <@property.fileBuild>
|
|
on-do:
|
|
- contain:
|
|
list: <!property.fileBuild>
|
|
target: output-metadata.json
|
|
on-true:
|
|
- exe: read-build-meta
|
|
- if:
|
|
condition-string: <!property.enableDevTool> == false
|
|
on-true:
|
|
- exe: replace-file-name
|
|
- exe: rename-build-file
|
|
- exe: set-file-name
|
|
|
|
|
|
- exe: set-slack-message
|
|
- exe: slack
|
|
|
|
############################# Commands #############################
|
|
|
|
commands:
|
|
### Create App Data
|
|
- command: CreateAppData
|
|
id: create-app
|
|
param:
|
|
scm: Git
|
|
name: mcs
|
|
relativeAssetPath: app/src/main/assets
|
|
setVersion: <@property.version>
|
|
setHash: <@property.hash>
|
|
setDate: <@property.date>
|
|
|
|
### Set Lt
|
|
- command: SetValue
|
|
id: set-lt
|
|
param:
|
|
values-string:
|
|
envValue: <!property.templateLt>
|
|
|
|
### Set Release
|
|
- command: SetValue
|
|
id: set-release
|
|
param:
|
|
values-string:
|
|
envValue: <!property.templateRelease>
|
|
urlValue: http://app.lguplus.com
|
|
|
|
### Parse URL
|
|
- command: URLInfo
|
|
id: parse-url
|
|
param:
|
|
url: <!property.url>
|
|
setScheme: <@property.scheme>
|
|
setHost: <@property.host>
|
|
setPort: <@property.port>
|
|
|
|
### Set Port Value
|
|
- command: SetValue
|
|
id: set-port
|
|
param:
|
|
values-string:
|
|
portValue: :<!property.port>
|
|
|
|
### Set default url
|
|
- command: SetValue
|
|
id: set-url
|
|
param:
|
|
values-string:
|
|
urlValue: <!property.scheme>://<!property.host><!property.portValue>
|
|
urlMessage: 'URL: <!property.scheme>://<!property.host><!property.portValue>\n'
|
|
enableDevTool: 'false'
|
|
|
|
### Gradle Read
|
|
- command: FileRead
|
|
id: gradle-read
|
|
param:
|
|
showPrint: false
|
|
path: <!property.gradlePath>
|
|
setContent: <@property.gradle>
|
|
|
|
### Set Signing Option
|
|
- command: StringReplace
|
|
id: append-sign
|
|
param:
|
|
showPrint: false
|
|
text: <!property.gradle>
|
|
pair:
|
|
- from: android {
|
|
to: |
|
|
android {
|
|
signingConfigs {
|
|
Lt {
|
|
storeFile file("keystore.dat")
|
|
storePassword "123456"
|
|
keyAlias "kingkor"
|
|
keyPassword "123456"
|
|
}
|
|
}
|
|
setValue: <@property.gradle>
|
|
|
|
### Replace http url
|
|
- command: StringReplace
|
|
id: replace-http-url
|
|
param:
|
|
showPrint: true
|
|
text: <!property.urlValue>
|
|
pair:
|
|
- from: https://
|
|
to: http://
|
|
setValue: <@property.httpUrlValue>
|
|
|
|
### Replace url
|
|
- command: StringReplace
|
|
id: replace-url
|
|
param:
|
|
showPrint: true
|
|
text: <!property.envValue>
|
|
pair:
|
|
- from: '{HTTP_URL}'
|
|
to: <!property.httpUrlValue>
|
|
- from: '{URL}'
|
|
to: <!property.urlValue>
|
|
- from: '{ENABLE_DEVTOOL}'
|
|
to: <!property.enableDevTool>
|
|
setValue: <@property.envValue>
|
|
|
|
### Replace env
|
|
- command: StringReplacePattern
|
|
id: replace-env
|
|
param:
|
|
startAt: 0
|
|
showPrint: true
|
|
startPattern: 'lt {'
|
|
endPattern: ' }'
|
|
text: <!property.gradle>
|
|
value: <!property.envValue>
|
|
setValue: <@property.gradle>
|
|
|
|
### Gradle Write
|
|
- command: FileWrite
|
|
id: gradle-write
|
|
param:
|
|
path: <!property.gradlePath>
|
|
content: <!property.gradle>
|
|
|
|
### App ID Message
|
|
- command: SetValue
|
|
id: set-appid-message
|
|
param:
|
|
values-string:
|
|
appIDMessage: '변경된 App ID: com.lguplus.mobile.cs.<!property.appID>\n'
|
|
|
|
### Strings Read
|
|
- command: FileRead
|
|
id: strings-read
|
|
param:
|
|
showPrint: false
|
|
path: <!property.stringsPath>
|
|
setContent: <@property.strings>
|
|
|
|
### Replace App Name
|
|
- command: StringReplace
|
|
id: app-rename
|
|
param:
|
|
showPrint: false
|
|
text: <!property.strings>
|
|
pair:
|
|
- from: <string name="app_name">당신의 U+</string>
|
|
to: <string name="app_name">당유(<!property.appID>)</string>
|
|
setValue: <@property.strings>
|
|
|
|
### Strings Write
|
|
- command: FileWrite
|
|
id: strings-write
|
|
param:
|
|
path: <!property.stringsPath>
|
|
content: <!property.strings>
|
|
|
|
### Manifest Read
|
|
- command: FileRead
|
|
id: manifest-read
|
|
param:
|
|
showPrint: false
|
|
path: <!property.manifestPath>
|
|
setContent: <@property.manifest>
|
|
|
|
### Replace Icon
|
|
- command: StringReplace
|
|
id: replace-icon
|
|
param:
|
|
showPrint: false
|
|
text: <!property.manifest>
|
|
pair:
|
|
- from: android:icon="@drawable/ic_launcher"
|
|
to: android:icon="@drawable/ic_launcher_dev"
|
|
setValue: <@property.manifest>
|
|
|
|
### Replace Permission
|
|
- command: StringReplace
|
|
id: replace-permission
|
|
param:
|
|
showPrint: false
|
|
text: <!property.manifest>
|
|
pair:
|
|
- from: </application>
|
|
to: |
|
|
</application>
|
|
|
|
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage"/>
|
|
|
|
setValue: <@property.manifest>
|
|
|
|
### Manifest Write
|
|
- command: FileWrite
|
|
id: manifest-write
|
|
param:
|
|
path: <!property.manifestPath>
|
|
content: <!property.manifest>
|
|
|
|
### Files Listing
|
|
- command: Files
|
|
id: files
|
|
param:
|
|
path: <!property.workspace>/app
|
|
recursive: true
|
|
ignoreRegExs:
|
|
- ^.*\/\.[a-zA-Z0-9_-]+\/.* # .git .idea etc..
|
|
- ^.*\.(png|jpg|jpeg|gif|bmp)$ # image files
|
|
- ^.*\.(txt|so|mk|crt|ttf)$ # ignore ext
|
|
- /build/
|
|
- /buildScript/
|
|
- /schemas/
|
|
- /libs/
|
|
- /aars/
|
|
- /mobileCS/
|
|
- /.DS_Store
|
|
- /proguard-rules.pro
|
|
- /lint.xml
|
|
- /.gitignore
|
|
setFiles: <@property.files>
|
|
|
|
### File Read
|
|
- command: FileRead
|
|
id: file-read
|
|
param:
|
|
showPrint: false
|
|
path: <!property.file>
|
|
setContent: <@property.fileContent>
|
|
|
|
### Replace Package
|
|
- command: StringReplace
|
|
id: replace-package
|
|
param:
|
|
showPrint: false
|
|
text: <!property.fileContent>
|
|
pair:
|
|
- from: com.lguplus.mobile.cs
|
|
to: com.lguplus.mobile.cs.<!property.appID>
|
|
setValue: <@property.fileContent>
|
|
|
|
### Strings Write
|
|
- command: FileWrite
|
|
id: file-write
|
|
param:
|
|
path: <!property.file>
|
|
content: <!property.fileContent>
|
|
|
|
### Print
|
|
- command: Print
|
|
id: print
|
|
param:
|
|
message: 'File: <!property.file>'
|
|
|
|
### Set Config
|
|
- command: StringReplace
|
|
id: set-config
|
|
param:
|
|
showPrint: false
|
|
text: <!property.config>
|
|
pair:
|
|
- from: GIT_HASH
|
|
to: ${GIT_COMMIT}
|
|
- from: BUILD_DATE
|
|
to: <!property.date>
|
|
setValue: <@property.config>
|
|
|
|
### Write Config
|
|
- command: FileWrite
|
|
id: write-config
|
|
param:
|
|
path: <!property.workspace>/app/src/main/assets/config.json
|
|
content: <!property.config>
|
|
|
|
### Build Gradle
|
|
- command: Shell
|
|
id: build
|
|
param:
|
|
commands:
|
|
- ./gradlew clean assembleLt
|
|
|
|
### Build Files Listing
|
|
- command: Files
|
|
id: files-build
|
|
param:
|
|
path: <!property.workspace>/app/build/outputs/apk/mobileCS/lt
|
|
recursive: false
|
|
setFiles: <@property.files>
|
|
|
|
### Read build meta
|
|
- command: JsonReaderFile
|
|
id: read-build-meta
|
|
param:
|
|
path: <!property.fileBuild>
|
|
pair:
|
|
- from: elements[0].versionCode
|
|
setValue: <@property.versionCode>
|
|
- from: elements[0].versionName
|
|
setValue: <@property.versionName>
|
|
- from: elements[0].outputFile
|
|
setValue: <@property.fileBuildName>
|
|
- from: elements[0].outputFile
|
|
setValue: <@property.fileBuildReplacedName>
|
|
|
|
### Replace file name
|
|
- command: StringReplace
|
|
id: replace-file-name
|
|
param:
|
|
showPrint: false
|
|
text: <!property.fileBuildName>
|
|
pair:
|
|
- from: '_lt_'
|
|
to: '_<!property.host>_'
|
|
setValue: <@property.fileBuildReplacedName>
|
|
|
|
### Rename Build File
|
|
- command: Rename
|
|
id: rename-build-file
|
|
param:
|
|
renameMap:
|
|
<!property.workspace>/app/build/outputs/apk/mobileCS/lt/<!property.fileBuildName>: <!property.workspace>/app/build/outputs/apk/mobileCS/lt/<!property.fileBuildReplacedName>
|
|
|
|
### Set File Name
|
|
- command: StringReplace
|
|
id: set-file-name
|
|
param:
|
|
showPrint: false
|
|
text: <!property.fileUrl>
|
|
pair:
|
|
- from: '{FILE}'
|
|
to: <!property.fileBuildReplacedName>
|
|
setValue: <@property.fileUrl>
|
|
|
|
### Set Slack Message
|
|
- command: StringReplace
|
|
id: set-slack-message
|
|
param:
|
|
showPrint: false
|
|
text: <!property.slackMessageJson>
|
|
pair:
|
|
- from: '{SLACK_MESSAGE}'
|
|
to: <!property.slackMessageAdd>
|
|
- from: '{APPID}'
|
|
to: <!property.appIDMessage>
|
|
- from: '{DATE}'
|
|
to: <!property.date>
|
|
- from: '{VERSION}'
|
|
to: <!property.versionName>
|
|
- from: '{VERSION_CODE}'
|
|
to: <!property.versionCode>
|
|
- from: '{URL}'
|
|
to: <!property.urlMessage>
|
|
- from: '{DEVTOOL}'
|
|
to: <!property.enableDevTool>
|
|
- from: '{FILE_URL}'
|
|
to: <!property.fileUrl>
|
|
setValue: <@property.slackMessageJson>
|
|
|
|
### Set Slack Message to empty
|
|
- command: SetValue
|
|
id: set-slack-message-empty
|
|
param:
|
|
values-string:
|
|
slackMessageAdd: ''
|
|
|
|
### Slack
|
|
- command: Slack
|
|
id: slack
|
|
param:
|
|
token: xoxb-3457711939825-8629587578534-ysH4Q5R0lM8gdgJ8dx3z6xI7
|
|
messageJson: <!property.slackMessageJson>
|
|
idMap:
|
|
박형윤: U03L21XV6LE
|
|
이동명: U05A94D57RS
|
|
심재진: U03L8HZCN75
|
|
이미영: U04H7HMV4R2
|
|
김시형: U03LYCJ1XU0
|
|
김가영: U050BN7EH8W
|
|
김낙운: U05DRP0N295
|
|
한희경: U03KU1YJUG7</defaultValue>
|
|
<trim>false</trim>
|
|
</hudson.model.TextParameterDefinition>
|
|
</parameterDefinitions>
|
|
</hudson.model.ParametersDefinitionProperty>
|
|
</properties>
|
|
<scm class="hudson.plugins.git.GitSCM" plugin="git@5.7.0">
|
|
<configVersion>2</configVersion>
|
|
<userRemoteConfigs>
|
|
<hudson.plugins.git.UserRemoteConfig>
|
|
<url>https://gitlab.uhdcsre.com/app-developer/lgup-mcs-aos.git</url>
|
|
<credentialsId>bfd6fb6a-e36e-4d12-87a8-4c6ca93bc28b</credentialsId>
|
|
</hudson.plugins.git.UserRemoteConfig>
|
|
</userRemoteConfigs>
|
|
<branches>
|
|
<hudson.plugins.git.BranchSpec>
|
|
<name>*/${branch}</name>
|
|
</hudson.plugins.git.BranchSpec>
|
|
</branches>
|
|
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
|
|
<submoduleCfg class="empty-list"/>
|
|
<extensions/>
|
|
</scm>
|
|
<assignedNode>mac-mini-m2</assignedNode>
|
|
<canRoam>false</canRoam>
|
|
<disabled>false</disabled>
|
|
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
|
|
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
|
|
<triggers/>
|
|
<concurrentBuild>false</concurrentBuild>
|
|
<builders>
|
|
<hudson.tasks.Shell>
|
|
<command># Load .zprofile if it exists
|
|
if [ -f ~/.zprofile ]; then
|
|
source ~/.zprofile
|
|
fi
|
|
|
|
# Load .bash_profile if it exists
|
|
if [ -f ~/.bash_profile ]; then
|
|
source ~/.bash_profile
|
|
fi
|
|
|
|
# Load .bashrc if it exists (optional)
|
|
if [ -f ~/.bashrc ]; then
|
|
source ~/.bashrc
|
|
fi
|
|
|
|
# Load .zshrc if it exists (optional)
|
|
if [ -f ~/.zshrc ]; then
|
|
source ~/.zshrc
|
|
fi
|
|
|
|
echo $PATH
|
|
BASEDIR=$(dirname $0)
|
|
#echo "===> Script location: ${BASEDIR}"
|
|
#cd ${BASEDIR}/../../..
|
|
echo "===> Build Project Path: ${PWD}"
|
|
|
|
echo ${BUILD_USER}
|
|
echo ${BUILD_USER_ID}
|
|
|
|
oto exe -j</command>
|
|
<configuredLocalRules/>
|
|
</hudson.tasks.Shell>
|
|
</builders>
|
|
<publishers>
|
|
<hudson.tasks.ArtifactArchiver>
|
|
<artifacts>app/build/outputs/apk/mobileCS/lt/*.apk</artifacts>
|
|
<allowEmptyArchive>false</allowEmptyArchive>
|
|
<onlyIfSuccessful>false</onlyIfSuccessful>
|
|
<fingerprint>false</fingerprint>
|
|
<defaultExcludes>true</defaultExcludes>
|
|
<caseSensitive>true</caseSensitive>
|
|
<followSymlinks>false</followSymlinks>
|
|
</hudson.tasks.ArtifactArchiver>
|
|
</publishers>
|
|
<buildWrappers>
|
|
<hudson.plugins.ansicolor.AnsiColorBuildWrapper plugin="ansicolor@1.0.6">
|
|
<colorMapName>xterm</colorMapName>
|
|
</hudson.plugins.ansicolor.AnsiColorBuildWrapper>
|
|
</buildWrappers>
|
|
</project> |