How to Secure Android & iOS Apps in Bamboo CI/CD

Last updated November 30, 2023 by Appdome

This Knowledge Base article provides instructions for using the Appdome Build2Secure plugin for Atlassian Bamboo CI/CD pipelines. Appdome’s Build2Secure plugin for Atlassian Bamboo is an out-of-the-box Atlassian Bamboo CI/CD integration, making it easy for mobile developers to automate the building, signing, and certification of security, anti-fraud, and other protections in Android and iOS apps in Atlassian Bamboo CI/CD pipelines. No code and no SDKs are required.

Appdome’s Build2Secure plugin for Atlassian Bamboo aims to streamline and accelerate cyber and anti-fraud delivery in CI/CD pipelines.

The Build2Secure plugin for Atlassian Bamboo automates three crucial steps in quickly delivering more secure mobile applications to your users:

(1) Building app-level protections into mobile apps.

(2) Code-signing the protected mobile app.

(3) Certifying the security of each protected mobile app.

The Appdome Build2Secure plugin for Atlassian Bamboo enables the delivery of Certified Secure™ mobile app security, anti-fraud, anti-malware, mobile anti-bot, among other cyber defense updates to mobile apps via the Appdome Cyber Defense Automation Platform. Use this plugin as a stand-alone DevSecOps integration or in combination with other DevSecOps integrations in your CI/CD pipeline.

For more general information on Atlassian Bamboo, refer to the Atlassian Bamboo CI/CD documentation available on the Atlassian website.

Here are the step-by-step instructions on using the Appdome Build2Secure plugin for Atlassian Bamboo.

Prerequisites for Secure Android & iOS Apps in Bamboo CI/CD

Step 1: Getting Started with Build2Secure Plugin for Bamboo

Atlassian Bamboo automates building and testing of code projects, supporting all major languages and project types. It combines continuous integrationcontinuous delivery, and continuous testing to build, test, and deliver your code to any destination.

The Appdome Build2Secure plugin takes the unprotected application file (apk, aab or ipa), rebuilds the file, and signs it by using the On-Appdome platform, based on the selected fusion set and signature method. This task can be performed either as part of an existing plan or as a new plan where you must provide the application file as part of the input for this task.

Step 2: Installing the Build2Secure Plugin for Bamboo

  • Log into your Bamboo server with an admin account
  • Navigate to “Manage apps” in the administration dropdown.

Navbar Manage Apps

  • Search for and install the Appdome Bamboo plugin from the marketplace.

Step 3: Setting up your Bamboo CI/CD Project

  • If you already have a Bamboo project, skip to step 4.
  • If you don’t have a Bamboo project, start by creating one: Click “Create” in the top navigation bar, then select “Create project” and complete the required fields.

Bamboo Create Project

Create Porject Configurations

  • Click Save.

Step 4: Creating a Plan

  •  If you already have a Bamboo plan, proceed to Step 5.
  • If you don’t have a Bamboo plan, start by creating one:
    • Click “Create” in the navigation bar
    • Select “Create plan” from the dropdown menu.
    • Configure the plan that you want to create.

Create Plan Dashboard

Plan Config 1

  • Optionally, you can link a repository to this plan.

Plan Config 2

  • You can choose to add tasks to your plan now or save the plan and add tasks at a later stage (refer to Step 5 for adding tasks).

Plan Config 3

Step 5: Adding Appdome’s Build2Secure task to your plan

Now that you have a plan for your Bamboo project, it’s time to configure it and integrate Appdome Build2Secure.

Go to the “Actions” dropdown on your plan dashboard and select “Configure plan”.

Plan Dashboard

All plans are created with a default job, which we’ll use for this example, but you can configure it in other jobs as you need.

  • Choose the job that you want to configure the plan for.

Plan Config Dashboard

  • Add a task.

Add Task

  • Search for “Appdome” and select the Build2Secure task.

Bamboo Appdomebuild@secure

Step 6: Configuring Appdome’s Build2Secure task

Configure all the required parameters for your build:

Build2secure Configurations

Global configurations:
For the basic configurations that you need for any app, see Appendix A

Signing configurations:

For signing on Appdome (Android/iOS), see Appendix B.

For Private signing (Android/iOS), see Appendix C.

For Auto Dev signing (Android/iOS), see Appendix D.

Additional Options

Refer to Appendix E for additional options such as “Build with Logs”, “Build to Test”, etc.

An explanation of how to use Bamboo variables is explained in Appendix F.

Step 7: Defining an artifact to publish the outputs

To access the outputs from this task, it’s necessary to publish them as an artifact.

In the job configuration, go to the artifacts tab and click “Create artifact”

Bamboo Artifact Definitions

  • A configuration pop-up will appear, where you will specify the artifact’s location.
  • Set the artifacts default location to: “appdome_outputs”
  • Use the copy pattern “**/**” to retrieve all of the files.

Note: If you changed the location using the Output Path described in Appendix E, put the same path here.

Bamboo Create Artifact

 

Step 8: Run the plugin

Execute the plugin manually by selecting “run” or set up different types of triggers for the plan, as outlined in the Triggering builds guide.

Bamboo Run The Plugin

 

Appendices A to F provide detailed examples and configurations for various aspects of the Build2Secure plugin.

Appendix A: Global Appdome Build2Secure Inputs example

Bamboo Appendix A

An unprotected app path can be either a path to a file located on the agent (mainly as an output from an earlier task) or a download link from the web.

Appendix B: Sign on Appdome Build2Secure Inputs example

Android

Bamboo Appendix B Android

iOS

Bamboo Appendix B Ios

Both mobile provisioning and entitlements can be either a path to a file located on the agent (mainly as an output from an earlier task) or a download link from the web.

For multiple files, enter them comma separated, without spaces.

Appendix C: Private Signing Build2Secure Inputs example

Android

Bambooappendixc Android

iOS

Appendix C Ios

Both mobile provisioning and entitlements can be either a path to a file located on the agent (mostly as an output from an earlier task) or a download link from the web.

For multiple files, enter them comma-separated, without spaces.

Appendix D: Auto Dev Signing Build2Secure Inputs example

Android

Appendix D Android

iOS

Appendix D Ios

Both mobile provisioning and entitlements can be either a path to a file located on the agent (mainly as an output from an earlier task) or a download link from the web.

For multiple files, enter them comma-separated, without spaces.

Appendix E: Extra Build2Secure Optional Inputs
Appendix E

Build With Logs: Check to build your app with diagnostic logs.

Second Output: Checking this will generate a universal .apk file in addition to the secure .aab app file.
Note: Not supported for Auto Dev signing.

Build To Test: Select your preferred automated testing service to build the app in test-ready mode.

Output Path: Change the path of Appdome’s outputs relative to the agent’s working directory.

(default: appdome_outputs)

Output App Name: Change the name of your output app (no extension) (default: Appdome_Secured_App)

Appendix F: Using Bamboo variables

In your plan configuration, navigate to the “Variables” tab and define the variables you need.
Some keywords can make your variable masked for protection (password/secret, etc.)

To use the variable, enter it in the input field like this: ${bamboo.myvariablename}.

Appendix F

Related Articles:

Thank you!

Thanks for visiting Appdome! Our mission is to secure every app on the planet by making mobile app security easy. We hope we’re living up to the mission with your project. If you don’t already have an account, you can sign up for free.

Appdome

Want a Demo?

Mobile App Security & Anti-Fraud Inside CI/CD

AlanWe're here to help
We'll get back to you in 24 hours to schedule your demo.