Build Android App with YAML

YAML Parameters for building Android apps

You can find the list with common parameters for all Buddy actions here.

NameTypeDescription
action
Required
StringThe ID of the action.
type
Required
StringThe type of the action. Should be set to BUILD.
docker_image_name
Required
StringThe name of the Docker image.
docker_image_tag
Required
StringThe tag of the Docker image.
execute_commands
Required
String[]The commands that will be executed.
cached_dirsString[]The dependencies & directories to be cached and available to every execution in this pipeline.
working_directoryStringThe directory in which the pipeline filesystem will be mounted.
setup_commandsString[]The command that will be executed only on the first run.
servicesService[]The containers with the services that will be attached to this environment. Available types: MYSQL, MONGO_DB, MARIADB, POSTGRE_SQL, REDIS, MEMCACHED, ELASTICSEARCH.
loginStringThe username required to connect to the Dockerhub, private registry or GCR.
passwordStringThe password required to connect to the Dockerhub, private registry or GCR.
registryStringThe url to the Docker registry or GCR.
integration_idIntegerThe ID of the integration. Required for using the image from the Amazon ECR.
regionStringThe name of the Amazon S3 region. Required for using the image from the Amazon ECR. The full list of regions is available here.
trigger_conditionStringDefines when the build action should be run. Can be one of ALWAYS, ON_CHANGE or ON_CHANGE_AT_PATH.
trigger_condition_pathsString[]Required when trigger_condition is set to ON_CHANGE_AT_PATH.
trigger_variable_keyStringRequired when trigger_condition is set to VAR_IS, VAR_IS_NOT or VAR_CONTAINS. Defines the name of the desired variable.
trigger_variable_valueStringRequired when trigger_condition is set to VAR_IS, VAR_IS_NOT or VAR_CONTAINS. Defines the value of the desired variable which will be compared with its current value.
disabledBooleanWhen set to true the action is disabled. By default it is set to false.
variablesVariable[]The list of variables defined for this action.

YAML example for building Android apps

actions:
- action: "Build Android app"
type: "BUILD"
working_directory: "/buddy/yaml-project"
docker_image_name: "library/openjdk"
docker_image_tag: "8"
execute_commands:
- "export ANDROID_HOME=\"/opt/android/sdk/\""
- "export BUILD_TOOLS_VER=\"27.0.3\""
- "export PATH=$PATH:/opt/android/sdk/build-tools/$BUILD_TOOLS_VER"
- "#build"
- "chmod +x gradlew"
- "#./gradlew assembleDebug"
- "./gradlew assembleRelease"
setup_commands:
- "mkdir -p /opt/android/sdk && mkdir .android"
- "cd /opt/android/sdk && curl -o sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip && unzip sdk.zip && rm sdk.zip"
- "yes | /opt/android/sdk/tools/bin/sdkmanager --licenses"
- "/opt/android/sdk/tools/bin/sdkmanager --update"
- "/opt/android/sdk/tools/bin/sdkmanager platform-tools"
- "/opt/android/sdk/tools/bin/sdkmanager tools"
- "/opt/android/sdk/tools/bin/sdkmanager emulator"
- "/opt/android/sdk/tools/bin/sdkmanager \"extras;android;m2repository\""
- "/opt/android/sdk/tools/bin/sdkmanager \"extras;google;m2repository\""
- "/opt/android/sdk/tools/bin/sdkmanager \"extras;google;google_play_services\""
- "/opt/android/sdk/tools/bin/sdkmanager \"build-tools;27.0.3\""
- "/opt/android/sdk/tools/bin/sdkmanager \"platforms;android-27\""
mount_filesystem_path: "/buddy/yaml-project"
variables:
- key: "ftp_login"
value: "userLogin123"
description: "The name of user to FTP."
- key: "ftp_password"
value: "secure!14ivLMxPgv7TX6c9+ITX/g=="
encrypted: true
description: "The password for ftp."