A repository that holds Qlik apps usually holds other things too: pipeline files, scripts, documentation. Having every app folder sit at the top level next to all of that gets crowded. With AppSubfolders you give the apps a folder of their own, such as apps/, and keep the repository root for everything else.
One line in the repository configuration
AppSubfolders is a setting in the repository's .qopsconfig. It lists the folders where QOps should look for apps, written relative to the repository root and separated by ;:
AppSubfolders: apps;partners/emea
QOps always checks the repository root. Each folder you list is checked as well. In every one of these folders, QOps treats each child folder that contains an App.yaml (or App.json) as an app. You can set the value in the file, with QOps-SetConfig -AppSubfolders, or in the Portal under the repository's settings, in the App subfolders field.
A layout that works well:
my-repo/
.qopsconfig AppSubfolders: apps
apps/
Sales-prj/App.yaml
Finance-prj/App.yaml
pipeline/
docs/
What to keep in mind
- Plain folder paths. List each folder by its path. Wildcards are not applied.
- One level deep. QOps looks at the child folders of the repository root and of each listed folder. To use
apps/team, listapps/team. - An empty list means the repository root only.
- QOps-SetConfig checks your entries. If a folder does not exist, it says so and changes nothing.
What happens in each command
- QOps-Prepare finds an app's existing folder in the root or in any listed folder and updates it there.
- QOps-Build and QOps-Release take their apps from the root and from every listed folder.
- A new app that Prepare writes for the first time is created next to the
.qopsconfig, as<Name>-prj. Move that folder intoapps/once. After that, Prepare and Build keep using it where it is.
The configuration at the repository root
You can keep the .qopsconfig at the repository root and run QOps from anywhere inside the repository. QOps walks up from the current folder until it finds the configuration, moves there, and tells you which folder it chose.
To move an existing setup, put the .qopsconfig at the root, add AppSubfolders: apps, merge the .gitignore lines for App.local files into the root .gitignore, and run a build for one app to confirm it is found.
In the Portal
Prepare, Build and Release started from the Portal follow AppSubfolders. The Portal's own app list looks for folders ending in -prj anywhere in the repository, so name your app folders <Name>-prj and the list and the commands agree.
The full guide, with example layouts and the messages you may meet, is in the Portal's Help panel under How-to guides: Keep applications in subfolders with AppSubfolders.
No comments yet. Be the first to share your thoughts!
Leave a comment