-
Notifications
You must be signed in to change notification settings - Fork 4
/
step.yml
137 lines (124 loc) · 6.66 KB
/
step.yml
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
title: Generate Cordova build configuration
summary: Generate a `build.json` file specifying code signing parameters for the **Cordova Archive** Step.
description: |-
"To sign a Cordova app, you need a `build.json` file with the appropriate code signing settings. This Step creates that file based on your inputs, and passes it on to the **Cordova Archive** or **Ionic Archive** Step that builds your app. The Step takes code signing settings for both [iOS](http://cordova.apache.org/docs/en/8.x/guide/platforms/ios/index.html#using-buildjson) and [Android](http://cordova.apache.org/docs/en/8.x/guide/platforms/android/index.html#using-buildjson) projects.
### Configuring the Step
Before you start, make sure you have either the **Certificate and profile installer** Step or the **iOS Auto Provisioning Step** in your Workflow. Either one is required for [code signing iOS apps](https://devcenter.bitrise.io/code-signing/ios-code-signing/ionic-cordova-code-signing/).
You also need to upload the appropriate iOS code signing files (certificate and provisioning profile), and an [Android keystore file](https://developer.android.com/studio/publish/app-signing#generate-key).
1. Set the build configuration type in the **Build configuration** input.
The input value must be the same as the value of the **Build command configuration** input of the **Cordova Archive** Step.
2. Configure the Step for iOS apps with the following inputs:
- **Code Sign Identity**: enter a Developer or a Distribution identity.
- **Provisioning Profile**: enter the appropriate Provisioning Profile.
- **Packaging Type**: this controls what type of build is generated by Xcode. Make sure it matches the type of code signing files you want to use for the build.
3. Configure the Step for Android apps with the following inputs:
- **Keystore password**
- **Alias**
- **Private key password**
If all goes well, the Step should export the `$BITRISE_CORDOVA_BUILD_CONFIGURATION` Environment Variable that is used by the **Cordova Archive** Step.
### Useful links
- [Getting started with Ionic/Cordova apps](https://devcenter.bitrise.io/getting-started/getting-started-with-ionic-cordova-apps/)
- [Code signing with Ionic and Cordova apps](https://devcenter.bitrise.io/code-signing/ios-code-signing/ionic-cordova-code-signing/)
- [Android code signing](https://devcenter.bitrise.io/code-signing/android-code-signing/android-code-signing-using-bitrise-sign-apk-step/)
### Related Steps
- [Cordova Archive](https://www.bitrise.io/integrations/steps/cordova-archive)
- [Cordova prepare](https://www.bitrise.io/integrations/steps/cordova-prepare)
- [Manipulate Cordova config.xml](https://www.bitrise.io/integrations/steps/cordova-config)"
website: https://github.com/bitrise-community/steps-generate-cordova-build-configuration
source_code_url: https://github.com/bitrise-community/steps-generate-cordova-build-configuration
support_url: https://github.com/bitrise-community/steps-generate-cordova-build-configuration/issues
project_type_tags:
- cordova
type_tags:
- utility
deps:
brew:
- name: go
toolkit:
go:
package_name: github.com/bitrise-community/steps-generate-cordova-build-configuration
inputs:
- configuration: debug
opts:
title: Build configuration
summary: Specify build configuration
description: Specify build configuration.
value_options:
- release
- debug
is_required: true
- development_team:
opts:
title: Development Team
summary: "The development team (Team ID) to use for code signing, __for example__ `1MZX23ABCD4`"
description: "The development team (Team ID) to use for code signing, __for example__ `1MZX23ABCD4`"
- code_sign_identity:
opts:
title: Code Signing Identity
summary: Code Signing Identity to use for signing
description: |-
Code Signing Identity to use for signing.
Specify Code Signing Identity as full ID ( __for example__ `iPhone Developer: Bitrise Bot (VV2J4SV8V4)`)
or specify code sign group ( __for example__ `iPhone Developer` or `iPhone Distribution` ).
- automatic_provisioning: "no"
opts:
title: Enable to allow Xcode to automatically manage provisioning profiles
summary: Enable to allow Xcode to automatically manage provisioning profiles
description: |-
Enable to allow Xcode to automatically manage provisioning profiles.
If this input is set to `yes`, the `Provisioning Profile` input will be omitted,
otherwise `Provisioning Profile` is required for iOS code signing.
value_options:
- "no"
- "yes"
- provisioning_profile:
opts:
title: Provisioning Profile
summary: Provisioning Profile to be used for signing
description: |-
Provisioning Profile to be used for signing.
Use Provisioning Profile's UUID ( __for example__ `c5be4123-1234-4f9d-9843-0d9be985a068` )
or specify Profile's name ( __for example__ `Bitrise development - (com.bitrise.cordovasample)` ).
- package_type: "none"
opts:
title: Packaging Type
summary: This input will control what type of build is generated by Xcode
description: This input will control what type of build is generated by Xcode.
value_options:
- none
- development
- enterprise
- ad-hoc
- app-store
- keystore_url: $BITRISEIO_ANDROID_KEYSTORE_URL
opts:
title: Keystore
summary: Path to a binary file which can hold a set of keys
description: |-
Path to a binary file which can hold a set of keys.
For __remote keystores__ you can provide any download location, for example, `https://URL/TO/keystore.jks`.
For __local keystores__ provide file path, for example, `file://PATH/TO/keystore.jks`.
- keystore_password: $BITRISEIO_ANDROID_KEYSTORE_PASSWORD
opts:
title: Keystore password
summary: Password to the keystore
description: Password to the keystore.
is_sensitive: true
- keystore_alias: $BITRISEIO_ANDROID_KEYSTORE_ALIAS
opts:
title: Alias
summary: The id specifying the private key used for signing
description: The id specifying the private key used for signing.
is_sensitive: true
- private_key_password: $BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD
opts:
title: Password
summary: Password for the private key specified
description: Password for the private key specified.
is_sensitive: true
outputs:
- BITRISE_CORDOVA_BUILD_CONFIGURATION:
opts:
title: The generated build configuration's path
description: |-
The generated build configuration's path.