Ionic is a complete open-source SDK for hybrid mobile app development. Built on top of AngularJS and Apache Cordova, Ionic provides tools and services for developing hybrid mobile apps using Web technologies like CSS, HTML5, and Sass. Apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by leveraging Cordova1.
This tutorial guides you through setting up your Ionic app in Nevercode. Nevercode doesn't require any kind of additional software from your side and you don’t even have to write any tedious configuration files full of technical boilerplate. We’ll scan your repository and from what you have there our builders find everything they need. You’ll just have to confirm what configuration you want to build.
The guide covers how to:
Ionic project structure
To identify an app as Ionic, Nevercode looks for a "signature" comprised of 2 components. Note that for Ionic 2 both these steps are generated automatically when you add a new app with
ionic start command. If apps are created with older Ionic versions, you'd need to provide one extra step.
Ionic namespace must be correctly specified in the
config.xmlfile in the root folder of your project. Here's what this looks like:
<widget id="com.your.project" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
The presence of the
ionic.config.jsonfile in the root folder of you project. This file is not created immediately after a new Ionic one project is started from the CLI. You could add it manually, but even though it’s tiny and simple, why not let Ionic do it for you: just run
ionic servefrom your project’s folder. This will open a browser window in which you can see your shiny new app, but more importantly, it will create the
ionic.projectfile. Don't forget to add it to source control and commit.
If your project began its life as Ionic, and you've run
ionic serve, then everything should be in place. However, users who are converting their existing projects to Ionic (we usually see this with Cordova and PhoneGap projects) need to take extra care to ensure that all these elements of the Ionic "signature" are present and committed to source control before adding their project to Nevercode.
- Select the appropriate option for where your app repository is hosted. See Specifying app repository for details. If you choose to add the repository manually, see Defining checkout URL and Authenticating repository access for details.
After specifying app repository, Nevercode takes a first look at it by listing the
branches in this repository. The next step for you is to select the branch you want Nevercode to scan for projects.
- Select a branch from the dropdown that Nevercode should scan. Note that you can change the branch later if needed.
- Click Scan branch. Nevercode scans the repository from the specified branch. This includes cloning the repository, looking for projects from it and searching for the configurations. All these actions can be monitored real-time from your browser via the live log window.
- Once scanning the branch has finished, you need to select a project. The Project selection here means a directory in your repository where your Ionic configuration file
- Select an option in Configuration dropdown, so Nevercode knows whether to build either the
releaseversion of your app.
- Select the platform for which you'd like to build your app (Android or iOS, or both platforms).
- Enable the appropriate build options by checking the corresponding boxes.
- Finally, click the Save and start build button. Nevercode will start the very first build of your app and you can monitor the real-time logs.
Ionic applications usually depend on additional Node modules. Nevercode installs the dependencies listed out in your project's
package.json file automatically with
npm install right after your repository is cloned for building.
Signing of Android binaries is identical to how it's done in Cordova apps, for detailed information see Signing Android binaries in Cordova.
To sign iOS binaries, please follow the corresponding tutorial for iOS apps.
Signing configuration in build configuration file
By setting up Git hooks, you can have Nevercode automatically build your app every time you push changes to the repository. For instructions, please refer to Building automatically (Git hooks).
Nevercode supports publishing your build artefacts to several distribution channels. See our full list of supported distribution options for more information.
If you'd like to generate a release build of your app for publishing to the Apple App Store, there are a few additional steps you need to take. These are detailed in Ionic documentation.
To make your build version management easy, Nevercode exports two environment variables that you can use in your build scripts:
NEVERCODE_BUILD_NUMBER. You can read more about it from Incrementing Ionic app version.