Ionic + Blackberry Dynamics + Live Deployment


#1

Hello Forum,

i am trying to develop an Ionic App with Blackberry Dynamics Support.
Like decripted here:
http://devblog.blackberry.com/2017/06/building-business-apps-with-blackberry-secure-cross-platform-apps-using-the-blackberry-dynamics-sdk-for-cordova-angularjs-and-ionic-framework/
it seens possible to use Blackberry with Ionic.

Now i want to know if it is possible to also use Live Deployment in this combination?
I have uploaded my blackberry Ionic App to Ionic Pro and i can see that the code Build failed because of this error:
npm ERR! Could not install from “…/…/…/Downloads/BlackBerry_Dynamics_SDK_for_Cordova_v4.0.0.182/plugins/cordova-plugin-bbd-base” as it does not contain a package.json file.

In my local Code Base this package.json file does exist.
Why is it missing here?

Is it even possible to use this combination?

Thanks in advance for your help.


#2

Here is the complete deploy log of the build that failed:

Running with gitlab-ci-multi-runner 9.1.0 (0118d89)
  on ip-10-2-144-149 (c9648220)
Using Shell executor...
Running on ip-10-2-144-149...
Cloning repository...
Cloning into '/home/gitlab-runner/builds/c9648220/1/project-1'...
Checking out 369dc4ec as master...
Updating/initializing submodules recursively...
$ run "fetch-updates"
Running Stage fetch-updates for Job: 5509288
Checking for build process updates...
$ run "build-app"
Running Stage build-app for Job: 5509288
Parsing ionic.config.json for project settings
Project Settings:
	Name: Mainova-Banf
	App ID: 2cd859ec
	Type: ionic-angular
Build script detected in package.json...
$ npm install --quiet --no-optional
npm ERR! code ENOLOCAL
npm ERR! Could not install from "../../../Downloads/BlackBerry_Dynamics_SDK_for_Cordova_v4.0.0.182/plugins/cordova-plugin-bbd-base" as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/gitlab-runner/.npm/_logs/2018-04-26T09_29_06_930Z-debug.log
npm install --quiet --no-optional failed
Running after script...
$ run "clean-up"
Running Stage clean-up for Job: 5509288
ERROR: Job failed: exit status 1

#3

Additionally here are my installed software versions:

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 7.0.1 

local packages:

    @ionic/app-scripts : 3.1.9
    Cordova Platforms  : ios 4.4.0
    Ionic Framework    : ionic-angular 3.9.2

System:

    Android SDK Tools : 26.1.1
    ios-deploy        : 1.9.2 
    Node              : v8.11.0
    npm               : 5.6.0 
    OS                : macOS High Sierra
    Xcode             : Xcode 9.3 Build version 9E145 

Environment Variables:

    ANDROID_HOME : /Users/wb01/Library/Android/sdk

Misc:

    backend : pro

I read other forum posts regarding this issue. The solution to delete and readd the plugin didn’t solve the problem.


#4

You are looking for the plugins in your Downloads folder. On the ionic pro server this folder will not be there. I would suggest creating a folder at the root of your project and putting your plugins in there (only the ones you need).

ex:
{root of your project}/externals/good/

you can then add your plugins like this
cordova plugin add externals/good/{plugin-name}

(you can change externals/good however you like)

I’m not sure this will work though as you also need the BlackBerry Dynamics iOS SDK installed on the machine to build the app which I don’t think will be available on the Ionic Pro server. You probably will have to build your app with your own machine.

Hope that helps


#5

Hi QGangler,
your advice was right! Thank you very much!!!
I used the externals/good folders inside of my project folder and the build on the Ionic Pro server finishes without an error.

Now i have a set of deployed versions online in my ionic dashboard, but the new version does not get pushed on my phone.
I always see the old version.

At the moment my project uses these plugins:

> cordova plugin ls
cordova-plugin-bbd-base 2.1.0 "Base Plugin"
cordova-plugin-bbd-configure 1.1.0 "BBD Configure Plugin"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-ionic 4.1.6 "IonicCordova"
cordova-plugin-ionic-keyboard 2.0.5 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 1.1.19 "cordova-plugin-ionic-webview"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-whitelist 1.3.3 "Whitelist"

Are these plugins sufficient to enable the ionic live deployment?