Build without Git Connection¶
Capawesome Cloud Native Builds typically clone your Git repository to run a build.
With the --path option, you can upload local source files directly instead of cloning from a Git repository.
This is useful when:
- You don't have access to a Mac and want to build iOS apps from your local machine.
- You want to create debug or test builds without pushing to your remote repository first.
- Your Git server is behind a firewall and you don't want to set up tunnels or mirroring (see Access Git Behind a Firewall).
- You're using a third-party CI/CD system that already checks out the code and you want to trigger builds from there.
How It Works¶
When you use the --path option, the CLI packages the contents of the specified directory into a compressed archive (respecting your .gitignore rules to exclude unnecessary files), uploads it to Capawesome Cloud, and triggers the build using those files instead of cloning from Git.
Limitations¶
Builds triggered with --path have the following limitations:
- No Git information: The Cloud UI will not display Git-related metadata (commit SHA, branch, author) for the build.
- No Automations: Builds from local files cannot be used with the Automations feature, which relies on Git events.
- No UI-triggered builds: You cannot trigger or re-run these builds from the Cloud Console. They can only be started via the CLI.
- Cannot combine with
--git-ref: The--pathand--git-refoptions are mutually exclusive.
Usage¶
To trigger a build from your local source files, run the following command from your project directory:
npx @capawesome/cli apps:builds:create \
--app-id <app-id> \
--path . \
--platform <platform> \
--type <type>
Replace the following placeholders:
<app-id>: The ID of your app in Capawesome Cloud.<platform>: The target platform (android,ios, orweb).<type>: The build type (e.g.debug,releasefor Android;simulator,development,ad-hoc,app-storefor iOS). Not required for web builds.
You can combine --path with other options like --certificate, --environment, or --stack just as you would for a regular Git-based build.
Refer to the CLI documentation for the full list of available options.