Building a Fabric app
To build a Fabric App build, you need to run the buildFabricApp job. When you perform a build for the first time, you need to configure the build settings. App Factory stores the settings from the build to make configurations of the future builds easier by providing the Rebuild option.
To run the buildFabricApp job and configure the parameters, follow these steps:
- Open the folder of your App Factory project, and then navigate to Fabric → Builds → buildFabricApp.
- Run the job by using the Build with parameters option. You can access the option by following either of these steps.
NOTE: If you don’t see the option, you might not have ownership permissions to the project. You can verify whether your name is listed in the Folder Owners section of the project. The Primary owner of the project can add users as secondary owners to grant permissions to the builds.
- On the right-side of the job row, select the icon that represents Build with Parameters
- Open the drop-down list for the buildFabricApp job, and then select Build with Parameters
- Open the buildFabricApp job and click Build with Parameters on the left panel
- Make sure that you have configured the Fabric Project Settings, and then configure the build parameters for the job. For more information about the parameters, refer to the following sections.Source Control
Parameter Description SCM_BRANCH
Specifies the branch, release tag, or the commit ID of the repository that contains the source code of the Fabric app.
JavaIMPORTANT: The JAR files that you want to use for your project must follow the Maven naming convention. For more information, refer to JAR file naming convention.
Parameter Description CLEAN_JAVA_ASSETS
Specifies whether App Factory must remove the JAR files of the Fabric source code that are stored in the repository before the app is imported to Fabric.
You can use the parameter with BUILD_JAVA_ASSETS to clean the existing JAR files, and then use the JAR files that are built by the Maven POM scripts in the build pipeline.
BUILD_JAVA_ASSETS
Specifies whether App Factory must build and import the Java dependencies from the repository. If this parameter is enabled, App Factory checks out the Java source code, compiles it, packages it, and then bundles it with the Fabric app.
If this parameter is enabled, App Factory displays the following build parameters:
- JAVA_PROJECTS_DIR
- MVN_GOALS_AND_OPTIONS
NOTE: Only Maven 3 is supported as the Java build mechanism.
Specifies the path of the directory that contains the Java assets that you want to build.
For example, if your Java assets are stored in
path/to/Java/Asset1
andpath/to/Java/Asset2
, the Java directory ispath/to/Java
.If your Java assets are stored in a separate repository, add the name of the repository as a prefix to the path of the directory.
For example, if your repository name is
JavaRepo.git
, and your Java assets are stored inpath/to/Java
, the Java directory isJavaRepo/path/to/Java
.NOTE: This parameter is displayed only if BUILD_JAVA_ASSETS is enabled.
MVN_GOALS_AND_OPTIONS
Specifies the Maven goals that you want to run to build the Java assets. You can also add command line options for the
mvn
command.The default Maven goals are:
clean package
.You can invoke Maven with a different set of goals, maven profiles, or additional arguments by using the -D option.
For example:clean package -DskipTests -Darg1=foo1 -Darg2=foo2
NOTE: This parameter is displayed only if BUILD_JAVA_ASSETS is enabled.
FabricParameter Description FABRIC_APP_CONFIG
Specifies the configuration that App Factory uses to connect the Visualizer (client) app to corresponding Fabric (server) app.
The configuration includes the hosting type, cloud account, environment name, and the Fabric app name.
The build pipeline refers to this parameter for the Fabric Account details to Import and Publish the app. For more information, refer to Adding new Quantum Fabric App Config.
IMPORT
Specifies whether App Factory must import the Fabric app to the Fabric cloud that is specified in the FABRIC_APP_CONFIG.
If the parameter is disabled and you want to import the app, you must download the package from the link that is shared in the email and manually import it to Fabric.
If this parameter is enabled, App Factory displays the following build parameters:
- FABRIC_CREDENTIALS_ID
- IMPORT_FABRIC_APP_VERSION
- PUBLISH
NOTE: To publish the Fabric app to an environment, you must import the app to the Fabric cloud.
FABRIC_CREDENTIALS_ID
Specifies the credentials that App Factory uses to import and publish the app to the Fabric cloud. The Fabric cloud must be specified in the FABRIC_APP_CONFIG. For more information, refer to Adding New Cloud Credentials.
NOTE: This parameter is displayed only if IMPORT is enabled.
IMPORT_FABRIC_APP_VERSION Specifies the location from which the version of the Fabric app is fetched.
To fetch the app version, you can use either of these sources:
- Meta.json file that is stored in the repository
- FABRIC_APP_CONFIG parameter
- Type the version manually
NOTE:- If you select the Type it in option, App Factory displays the FABRIC_APP_VERSION parameter.
- This parameter is displayed only if IMPORT is enabled.
FABRIC_APP_VERSION
Specifies the version of the Fabric app that you want to import.
The version must be in the format <major>.<minor>, for example: 1.0 or 999.99. The major version must be between 1 and 999, and the minor version must be between 1 and 99.
NOTE: This parameter is applicable only if the IMPORT_FABRIC_APP_VERSION is selected as Type it in.
RETAIN_DELETED_OPERATIONS Specifies if the deleted operations of the imported app must be retained. The RETAIN_DELETED_OPERATIONS parameter is ignored if you select the Type it in option in the IMPORT_FABRIC_APP_VERSION parameter. PUBLISH
Specifies whether App Factory must publish the app to the Fabric environment.
If the parameter is disabled and you want to publish the app to a run-time environment, you need to manually publish the app from the Fabric console.
If you enable this parameter, App Factory displays the following parameters:
- SERVICE_CONFIG_PATH
NOTE: This parameter is displayed only if IMPORT is enabled.
PUBLISH_MICRO_APPS
Specifies whether App Factory must publish the linked Micro Apps to the Fabric environment.
If the parameter is disabled, App Factory only publishes the Base App.
SKIP_ENGAGEMENT_PUBLISH Specifies whether App Factory must skip publishing the Engagement Services associated with the app during the Fabric app publish process.
If the parameter is disabled, App Factory publishes the App along with the Engagement Services configured in the Engagement tab
NOTE: If you have a different configuration saved in the Quantum Fabric Console before you publish the app, the App Factory Configuration is not applied. The configuration in the Quantum Fabric Console has a higher priority than the App Factory Configuration.
SKIP_WEB_CLIENT_DEPLOYMENT
Specifies whether App Factory must skip deploying the client web app. If the parameter is disabled, App Factory overwrites the client web app in the App Services (run time).
IMPORTANT:- For composite apps, deployment of the web app is skipped only for the base app. The web app is deployed (and overwritten) for the linked micro apps.
- To use this parameter, you must upgrade your project to V9SP6. Otherwise, the web client is overwritten by default.
- This parameter is applicable only if the Fabric app contains web client assets and the PUBLISH parameter is selected.
INCREMENTAL_PUBLISH - Specifies whether App Factory must enable incremental publish for the Fabric application to the Fabric environment specified by FABRIC_APP_CONFIG.
NOTE: To enable Incremental Publish of the app to a specific environment, you must import the app into its corresponding workspace.
Specifies the path to the service configuration JSON file relative to the root of the source code repository. For information about service configuration, refer to Managing Service Profiles.
IMPORTANT: This parameter is only applicable for Fabric Console versions V9SP2 or later.
App Factory supports custom locations for the configuration file, but Temenos recommends naming the folder
configuration
. Temenos also recommends naming every JSON file after the environment it is meant for. For example: If your environment is called Test Env, your configuration file should beconfiguration/Test_Env.json
.NOTE: This parameter is displayed only if the
PUBLISH
parameter is selected.SERVICE_CONFIG_VARIABLES Specifies the placeholders that must be replaced in the service profile configuration JSON file before the App is imported and published to Quantum Fabric. You must provide key-value pairs in the in the
key=value
format as the placeholder variable.NOTE:- This parameter is displayed only if the
IMPORT
andPUBLISH
parameters are selected. - You can update multiple variables by providing key-value pairs separated by semicolons (
;
). For example, key1=value1;key2=value2;key3=value3. - If a variable (key-value pair) contains a
;
(semicolon) or an=
(equals) sign, ensure that you add a\
(backslash) sign to differentiate it from the next value. For example, key1=value1;key2=val\;ue2
TestingNOTE: The test resources must be included as a Maven project at
<fabric_project_source>/<testResources>/Cucumber/
. Make sure that thepom.xml
file is in thetestResources/Cucumber/
folder.
Alternatively, you can upload the test resources as a zip file in the TEST_ZIP_PACKAGE parameter.Parameter Description RUN_TESTS
Specifies whether App Factory runs tests as part of the buildFabricApp job.
MVN_OPTIONS
Specifies the Maven options that can be included for the test run. You can also add command-line options for the
mvn
command.You can invoke Maven with a different set of goals, maven profiles, or additional arguments by using the -D option.
For example:clean package -DskipTests -Darg1=foo1 -Darg2=foo2
TEST_ZIP_PACKAGE
Specifies a URL to the zip package that contains the test resources.
IMPORTANT: Make sure that the URL is public and accessible from App Factory.
If you have included the test resources in the SCM, you can skip this parameter.
TEST_REPORTS_DIRS
Specifies the custom reports that are generated during the test run. For example,
target/cucumber/cucumber.json
.You can include multiple reports by separating them with a comma (
,
).Custom HooksParameter Description RUN_CUSTOM_HOOKS
Specifies whether Custom Hooks must be run as part of the build pipeline. If this parameter is disabled, App Factory does not run Custom Hooks in the build pipeline.
HOOK_ARGUMENTS
Specifies the arguments that you want to pass to the Custom Hooks. These arguments are added to the script arguments that are configured while creating the custom hook and also passed as a parameter to the hook job.
NOTE: The arguments are passed to all the custom hooks that are enabled for the build job
For example, pass the arguments as follows
key1=value1,key2='value2,still_value2'
- After you configure the parameters for the buildFabricApp job, click BUILD.
After a Build is successfully triggered, you can check the status of the build in the Build History panel. The following screenshot displays a build that is in progress (#4965) with the progress indicator icon.
You can click the icon to see the detailed output of the current build, or click the progress bar to open the build page of the job. From the build page, you can click Console Output to display the detailed output of the running build.