Jenkins, an open source continuous integration solution, integrates with VMware AirWatch to automate lifecycle management for internal applications. Automating the delivery of new app builds to the AirWatch admin console ensures end users have access to the latest app features and fixes. Additionally, using the AirWatch plugin for Jenkins to automate eliminates the overhead of manually uploading each new build to the AirWatch admin console.
AirWatch Plugin for Jenkins Overview
The AirWatch plugin for Jenkins applies to the post-build action of your Jenkins job. Independent from source code management and build configurations, the plugin easily incorporates into existing and new projects. Used in conjunction with the other Jenkins plugins for source code management and builds, the AirWatch plugin serves as part of a larger tool that fully automates internal application lifecycle management.
Configure the AirWatch Plugin for Jenkins
1. Log in to myAirWatch.
2. On the myAirWatch homepage, copy and paste the following link into the navigation bar, to trigger the plugin’s download: https://resources.air-watch.com/view/gbg3xq9wzyw8tx9k6w67/en.
3. Once the download completes, add the plugin to your Jenkins setup. [learn_more caption=”Configuration settings:”]
a.Navigate to the Jenkins plugin manager.
b.Upload the Jenkins plugin file with .hpi extension.
[/learn_more]
4. Configure the plugin to integrate AirWatch internal app lifecycle management with your Jenkins build server as a POST-build action in your Jenkins job. [learn_more caption=”Configuration settings:”]
- For “AirWatch Server URL,” provide the AirWatch REST API server without http or https. Enter a fully qualified file path (NOT relative path) of the app file, including app file name and extension. Ensure that your Jenkins user has read and written permissions to this folder.
- Enter the application name along with the AirWatch REST API key and AirWatch API account’s username and password.
- Enter Organization Group name and ID, along with the assignment group that you wish to upload and assign this application to.
- Change “Push Mode” to auto or on-demand, depending on if you want the app to be installed automatically or be available in a catalog to download.
- Enter the bundle ID of the application, in case you want to delete the existing version(s) of the app from the AirWatch console.
[/learn_more]
5. Configure access logs for the AirWatch App Deployment plugin.[learn_more caption=”Configuration settings:”]
a. Navigate to Manage Jenkins > System log > Add and to add a new log recorder.
b. Enter your project name, and select Add loggers. In the Loggers field, enter com.airwatch.seamlessdeploymentofairwatchapp. [/learn_more]
Limitations of the Current Plugin Version
- The plugin configuration does not support variables for the Jenkins environment. Use the full, qualified path to the application build file.
- The system does not extract the icon from the IPA when uploading files using the plugin.
- The plugin defaults to all as the supported iOS version instead of the specific version that the app supports.
- The slave node does not support the plugin in a master-slave configuration of Jenkins.
Build a Custom Plugin
The plugin discussed in today’s post was designed for Jenkins. However, to get support for a different continuous integration solution, consider building a custom plugin. The AirWatch plugin for Jenkins is composed of certain AirWatch REST APIs called in a specific order:
Learn More
Take a look at the resources listed below to learn more about continuous app lifecycle management:
- Continous App Lifecyle (Jenkins): This video demos how the AirWatch plugin for Jenkins can be used to automatically deploy new versions of the apps to the devices as soon as the developer commits a push.
- https://{apiURL}/api/help: Use the AirWatch REST API help page to build a custom plugin for a different continous integration solution.
- COMING SOON: Join our Hands-on Lab for configuring the AirWatch plugin for Jenkins. Stay tuned!
Takeaways:
- The AirWatch plugin for Jenkins can be used with your existing Jenkins setup (in standalone or master-slave mode) to deploy and manage internal applications with AirWatch.
- You can use AirWatch REST APIs to build a customized plugin for other continuous integration solutions.
- Along with other source code management and build plugins, you can build a fully automated, end-to-end app lifecycle management solution.