-
Notifications
You must be signed in to change notification settings - Fork 20
/
Jenkinsfile.app
140 lines (116 loc) · 4.47 KB
/
Jenkinsfile.app
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#!groovy
@Library('jenkins-shared-library@dev') _
/**
* @author 潘维吉
* @description 核心Pipeline代码 针对Android和iOS项目CI/CD的脚本
* 注意 本文件在Git位置和名称不能随便改动 配置在jenkins里
*/
// Pipeline需要安装的插件
// 根据不同环境项目配置不同参数
def map = [:]
// 保持构建的最大个数
map.put('build_num_keep', 1)
// 默认要构建的Git分支
map.put('default_git_branch', 'master')
// 是否非正式环境设置App的icon图标徽章 易于区分环境和版本
map.put('is_icon_add_badge', true)
// 是否Pipeline内脚本钉钉通知 总开关
map.put('is_ding_notice', false)
// 是否只通知发布变更记录
map.put('is_only_notice_change_log', false)
// 是否在生产环境发布成功后自动给Git仓库打Tag版本和生成变更记录
map.put('is_git_tag', false)
// 项目标签或项目简称
map.put('project_tag', ' ')
// 分发平台账号
map.put('pgyer_api_key', "a06ee74d4063eb58b7fed20e7fde6306")
// jenkins分布式构建节点label名称 预配置在jenkins节点管理内
map.put('jenkins_node', 'master')
// 构建环境变量
map.put('jdk', '8')
// 相关信任标识
map.put('ci_git_credentials_id', '45392b97-5c21-4451-b323-bbf104f70e51')
map.put('git_credentials_id', '45392b97-5c21-4451-b323-bbf104f70e51')
map.put('ding_talk_credentials_id', 'ba0ebec7-73ad-4a26-af8b-d15c470b1328') // 支持多个群通知 逗号,分割 不要空格
// OSS对象存储访问凭据配置 Jenkins系统管理的Manage Credentials,类型选择为“Secret file”配置
map.put('oss_credentials_id', ' ')
// 直连方式服务器集群自动SSH连接信息 实现CI构建机器和多台部署机之间的免密连接
map.put('ssh_hosts_id', ' ')
// 跳板机方式服务器集群自动SSH连接信息 实现CI构建机器和多台部署机之间的免密连接
map.put('proxy_jump_hosts_id', ' ')
// Android应用商店渠道号
map.put('android_store_identify', "lexiang\nhuawei\nxiaomi\noppo\nvivo\nsansumg\nmeizu")
// Android应用商店自动化审核上架
map.put('huawei_app_gallery_client_id', "")
map.put('huawei_app_gallery_client_secret', "")
map.put('xiaomi_market_user_name', "[email protected]")
// Apple Store相关信息 支持不同的Apple Store账号配置
map.put('apple_id', "[email protected]")
map.put('apple_password', "panweiji2022")
map.put('apple_team_id', "KTURYE6Q79")
// App Store Connect API相关信息 获取地址: https://appstoreconnect.apple.com/access/api
map.put('apple_store_connect_api_key_id', "RK28R5AN27")
map.put('apple_store_connect_api_issuer_id', "")
map.put('apple_store_connect_api_key_file_path', "/Library/AuthKey_RK28R5AN27.p8")
// iOS审核信息
map.put('ios_review_first_name', "潘")
map.put('ios_review_last_name', "维吉")
map.put('ios_review_phone_number', "+86 18863302302")
map.put('ios_review_email_address', "[email protected]")
// 调用核心通用Pipeline
appSharedLibrary(map)
// ---------------------------------------------------------------------------------------------------------------------
// https://github.com/DreamPWJ/jenkins-shared-library.git Jenkinsfile.app
/*
test-android-app
测试Android APP流水线
JSON_PARAMS:
{
"PROJECT_TYPE" : "1",
"REPO_URL" : "https://github.com/DreamPWJ/member/member-android.git",
"CUSTOM_ANDROID_BUILD_TYPE" : "Test,PreRelease",
"IS_ANDROID_STORE_IDENTIFY" : true,
"IS_ANDROID_AAB" : false
}
ANDROID_APP_INFO:
{
"huaweiAppGalleryAppId" : "100324957",
"xiaomiMarketPrivateKey" : ""
}
test-ios-app
测试IOS APP流水线
JSON_PARAMS:
{
"PROJECT_TYPE" : "2",
"REPO_URL" : "https://github.com/DreamPWJ/panweiji-mobile/ios-anhomemanager.git",
"DEFAULT_GIT_BRANCH" : "dev",
"CUSTOM_IOS_BUILD_TYPE" : "Test,PreRelease",
"IOS_APP_IDENTIFIER" : "com.panweiji.propertyservice.store",
"IOS_PROJECT_LEVEL_DIR" : "panweijiApp"
}
IOS_APP_REVIEW_INFO:
{
"demoUser" : "19912522910",
"demoPassword" : "123"
}
test-flutter-app
测试Flutter APP流水线
JSON_PARAMS:
{
"PROJECT_TYPE" : "3",
"REPO_URL" : "https://github.com/DreamPWJ/panweiji-iot/flutter-demo.git",
"BUILD_SYSTEM_TYPES" : "Android,iOS",
"IOS_APP_IDENTIFIER" : "com.flutter.panweiji",
"IOS_SCHEME_NAME": "Runner"
}
test-react-native-app
测试React Native APP流水线
JSON_PARAMS:
{
"PROJECT_TYPE" : "4",
"REPO_URL" : "https://github.com/DreamPWJ/react-native-demo.git",
"BUILD_SYSTEM_TYPES" : "Android,iOS",
"IOS_APP_IDENTIFIER" : "com.reactnative.panweiji",
"IOS_SCHEME_NAME": "ReactNativeDemo"
}
*/