CI Build allows the user to build and publish an app from the command line without any eclipse/installer dependency.
Following are the prerequisites to install CI Build:
Note: Windows platform is supported from the Visualizer V8 SP1
Starting with Kony Visualizer V8 SP3 GA, CI build is supported in Kony Visualizer.
Note: You must upgrade to V 8 SP3 to get CI build in applications created with a lower version of Kony Visualizer than SP3
The following properties have a default value. You can configure them if required.
Property Name | Property Key | Default Value | Property File Name |
---|---|---|---|
Accessibility config | isA11yConfigEnabled | false | projectprop.xml |
Android wear minimum sdk version | andwearminsdkkey | 7.1 (25) | projectprop.xml |
Android wear target sdk version | andweartargetsdkkey | 7.1(25) | projectprop.xml |
Android wear maximum sdk version | andwearmaxsdkkey | None | projectprop.xml |
Android (mobile/tablet) minimum sdk version | andminsdkkey | 4.0(14) | projectprop.xml |
Android (mobile/tablet) target sdk version | andtargetsdkkey | 4.0(14) | projectprop.xml |
Android (mobile/tablet) maximum sdk version | andmaxsdkkey | None | projectprop.xml |
iOS Deployment target version | mac.iosdeploymenttarget | HeadlessBuild.properties | |
Apple watch Deployment target version | mac.watchosdeploymenttarget | HeadlessBuild.properties | |
iOS swift version | mac.swiftversion | HeadlessBuild.properties | |
Splash screen related changes | splashscreenproperties.json |
In case you want to modify any of the listed properties, you can find them in the following location: <workspace name>/<application name>.
HeadlessBuild.properties file is present in the project location.
Upgrade Kony Visualizer project to 8.3.x or add the below new entries in HeadlessBuild.properties file:
protectedmodeenabled.ios | If the user wants to build for iOS in protected mode, change the value to true. |
protectedmodeenabled.android | If the user wants to build for android in protected mode, change the value to true. |
plugin.dir | Points to the directory, where the plugins required for the build are copied. |
javaloc | Java home (provide the folder location consisting bin where the Java is installed.) Example: <Install_location>\KonyVisualizerEnterprise8.0\Java\jdk |
androidHome | Android SDK path |
For Proxy setup, the following new entries are applicable: proxy.host proxy.port proxy.username proxy.password | If you are running CI build on a system behind a proxy, provide proxy details. |
Add the following existing entries in HeadlessBuild.properties file:
Key Name | Description |
---|---|
project.name | Project name |
mode | Only modes 0, 1 and 2 are supported |
build.mode | The mode of the build. Release or Debug. |
appid | ID of the application |
#cloud mode credentials cloud.username cloud.password | Applicable only for cloud |
#mobilefabric specific details mobilefabric.url environment.name accountd.id mf.appname | Applicable only when you are trying to publish the app. |
#specify the environment you want to publish Example:qa
cloud.environment | Applicable only when you are trying to publish the app. |
#The platforms for which the headless build need to run | The value is either true or false. Enter true to build the platform else false. |
#Provide the following details for IPA generation: | Enter true to generate IPA for iPhone and iPad. For the method, possible values supported are app-store, ad-hoc, enterprise, and development. |
Universal build for iOS: | Enter true to perform universal build for iPhone. Enter true to perform universal build for Android. |
#Windows platform for headless build: | Window platforms |
binaries.location | Location, where the binaries are saved after the app is successfully built. |
| Support has been added for the following items from V8 SP1 onwards. |
| Support has provided for the Android signing keys from V8 SP1 onwards for signing. |
context.path.identity
| Supported context paths for Kony Fabric components, if customized. |
login.siteminder.url
| Siteminder login URL if your on-premise Kony Fabric is protected by siteminder. |
iosappextension | App extension of the iOS. |
Important: There are many keys available in the HeadlessBuild.properties file. However, not all of them are applicable for the CI Build. The keys mentioned above are the only ones applicable for CI Build.
Important: If you do not want to store your password in the headless build.properties file, you can use mfcli to encrypt your password. You can download the mfcli.jar from https://community.kony.com/downloads.
Ensure that you use the corresponding version of MFCLI as that of the Visualizer. i.e 7.x viz, 7.x mfcli, 8.x viz, 8.x mfcli.
To encrypt the password using mfcli (using default password.encryption.key), java -jar mfcli.jar encrypt "Kony@1234"
Encrypted password is: en1801f1abee7b9e12426c062509e1b18epd
Follow these steps to build the application:
Note: For Delta download or when the 'plugin.dir' location already has a set of plugins then, run the following command
node build.js -c --version <version number>
This command will download the upgraded plugins and build the project.
Note: If the binary location is not specified in the file, the binaries are saved in the following default location.
<projectLocation>/Binaries.
The error codes are indicative of failed stage or operation. The actual error messages differ from the description mentioned below:
Example: Error code 50 describes as one of the mandatory field is missing. Actual error message will list the fields missing.
Error Code | Description |
---|---|
50 | One or more mandatory fields are missing in HeadlessBuild.properties. |
51 | At least one platform should be selected for the build in HeadlessBuild.properties. |
52 | Plugin extraction failed (or) one or more mandatory plugins are missing. |
53 | Publishing Kony Fabric application failed. |
54 | Kony Fabric configuration details are missing in HeadlessBuild.properties. Example: error message will be (cloudname, cloudpassword, envname, accountID, mfAppName) is (or) are missing. |
55 | Project porting failed. |
56 | There are no forms created to build the selected channels. Example: There are no forms created for: Desktop |
57 | JAVA_HOME not found in environment variables (or) expected Java version is not found. |
58 | ANT_HOME not found in environment variables (or) expected ant version is not found. |
59 | Expected node version not found. Example: node version mismatch: required 7.10.0, found 6.10.2. |
60 | Expected Xcode version not found. |
61 | Expected Finalizer version not found. |
62 | Build failed for one or more selected platforms. |
Following platforms are supported to build the CI application:
Copyright © 2013 Kony, Inc. All rights reserved. |