Global Configuration Parameters:
-
platform
[choice (ios, osx, android)] - project platform -
using_pods
[bool] - whether project uses CocoaPods [ios, osx] -
project_dir
[string] - path to project's dir [default:.
] -
profile.file
[string] - path to profile file [iOS only] -
profile.identity
[string] - profile's identity string [iOS only]
Example:profile: file: profiles/adhoc.mobileprovision identity: "iPhone Developer: Trololo, LLC"
-
project_name
[string] - project name for naming APK file before uploading to hockeyapp
###Modules
-
Branch Module
Checkout Git Repo to specified branch
Name:branch
Config Parameters:branch: name: master submodules: true
branch.name
[string] - the name of branch git repo will be switched to
branch.submodules
[bool] - init submodules or not -
Clean Module
Name:clean
Config Parameters: nothing -
Bump Version Module
Increase project version number
Name:bump_version
Config Parameters:bump_version: enabled: false up_mver: false simple: false
bump_version.enabled
[bool] - enable or disable module for configuration
bump_version.up_mver
[bool] - update marketing version field or not (semantic version format major.minor.build)
bump_version.simple
[bool] - update marketing version to build number -
Build Module
Main build module for iOS Projects
Name:build
Config Parameters:build: configuration: Release sdk: iphoneos doclean: true ver_on_icon false workspace: name: TestProject scheme: TestProject project: name: TestProject target: TestProject
build.configuration
[string] - project's configuration name
build.sdk
[string] - SDK version
build.doclean
[bool] - enable or disable cleaning project before building
build.ver_on_icon
[bool] - to print version number on icon or not
build.workspace.name
[string] - workspace name if using pods
build.workspace.scheme
[string] - scheme name if using pods
build.project.name
[string] - project name if not using pods
build.project.target
[string] - target name if not using pods -
Tests Module
Module for running tests from iOS Project
Name:tests
Config Parameters:tests: enabled: false target: TestProjectTest
tests.enabled
[bool] - run tests or not
tests.target
[string] - tests target name -
Pack IPA Module
Packing build into IPA file and sign with specified profile if needed
Name:pack_ipa
Config Parameters:pack_ipa: enabled: false naming: prefix: TestProject append_version: false
pack_ipa.enabled
[bool] - enable or disable module for configuration
pack_ipa.naming.prefix
[string] - prefix for output IPA filename [default:<empty string>
]
pack_ipa.naming.append_version
[bool] - enable or disable appending version number to output IPA filename -
Pack dSYM Module
Pack dSYM data of build
Name:pack_dsym
Config Parameters:pack_dsym: enabled: false output_dir: ~/Desktop/
pack_dsym.enabled
[bool] - enable or disable module for configuration
pack_dsym.output_dir
[string] - path to output directory -
Upload DOA Module [Abandoned]
Upload IPA to DOA service
Name:upload_doa
Config Parameters:doa: host: http://doa.domain/ guid: app_guid
doa.host
[string] - host address of DOA server
doa.guid
[string] - application's id on DOA server -
Copy IPA Module
Copy IPA file to specified directory
Name:copy_ipa
Config Parameters:copy_ipa: enabled: true output_dir: ~/Desktop/ clear_old: false
copy_ipa.enabled
[bool] - enable or disable module for configuration
copy_ipa.output_dir
[string] - path to output directory
copy_ipa.clear_old
[bool] - clear or not old builds -
IPA Publisher [Deprecated]
Old style publisher for IPAs to distribute them over air
Name:ipa_publisher
Config Parameters:ipa_publisher: enabled: false fs_path: /var/www/app/ web_path: http://server.com/app/ template: builder/publisher_template.html
ipa_publisher.enabled
[bool] - enable or disable module for configuration
ipa_publisher.fs_path
[string] - path to www accessible dir on server
ipa_publisher.web_path
[string] - http address of page
ipa_publisher.template
[string] - html template for page -
Resign IPA Module [Abandoned]
Resign IPA file
Name:ipa_resign
Config Parameters:...
-
HockeyApp Module
Upload build to HockeyApp Service
Name:hockeyapp
Config Parameters:hockeyapp: enabled: false token: token app_id: app_id notify: false download: false
hockeyapp.enabled
[bool] - enabled or disabled module for configuration
hockeyapp.token
[string] - HockeyApp API Token
hockeyapp.app_id
[string] - HockeyApp App ID
hockeyapp.notify
[bool] - send notifications to project related people
hockeyapp.download
[bool] - set ability to download build
Accepts parameterBUILD_NOTES
as release note for upload. You can add it in Jenkins build job as "Text Field" parameter. Or just pass as ENV parameter.NOTE: For Android projects you can define
project_name
property in config and it will be used for naming APK file before uploading to HockeyAPP. Thus it will add mo clarity to downloadable file insted of some plain name likeMainActivity-release.apk
-
Update Config [Android] Module
Update configurations for android project & dependencies, generate build.xml files for ant.
Name:update_configs_android
Config Parameters:update_configs_android: enabled: true
update_configs_android.enabled
[bool] - whether is module enabled for configuration -
Clean [Android] Module
Clean project & dependencies before build
Name:clean_android
Config Parameters: nothing -
Bump Version [Android] Module
Bump version in android project
Name:bump_version_android
Config Parameters:bump_version_android: enabled: false push: false
bump_version_android.enabled
[bool] - whether is module enabled for configuration.bump_version_android.push
[bool] - push changes to git repo or not -
Build [Android] Module
Build android project
Name:build_android
Config Parameters:build_android: configuration: release android_target: "Google Inc.:Google APIs:17" properties_key: project_key dependencies: - dep1 - dep2
build_android.configuration
[string] - configuration to build
build_android.android_target
[string] - android SDK version
build_android.properties_key
[string] - key for retrieving data for updating ant.properties file
build_android.dependencies
[list] - project's dependencies -
Copy APK Module
Copy APK file to specified directory
Name:copy_apk
Config Parameters:copy_apk: enabled: false output_dir: "~/Dropbox/<your_project_dir>" naming: prefix: Prefix
copy_apk.enabled
[bool] - whether is module enabled for configuration
copy_apk.output_dir
[string] - path to output directory
copy_apk.naming.prefix
[string] - apk filename prefix -
Template File Module
Copy template files with replacing placeholders with vars specified in config file
Name:template_file
Config Parameters:template_file: enabled: true files: - {from: 'tpl.txt', to: 'work.txt', vars: {name: 'World', action: 'destroy'}}
Template file example:
Hello {name}, Trololo on you! piu piu {action}!
template_file.enabled
[bool] - whether is module enabled for configuration
template_file.files
[array] - array of hashes with required params: from - path to template file, to - path for output file, vars - hash with var names and its values -
TestFlight Module Upload build to TestFlight Service Name:
testflight
Config Parameters:testflight: enabled: false api_token: token team_token: team notify: false
testflight.enabled
[bool] - whether is module enabled for configuration
testflight.api_token
[string] - testflight api token
testflight.team_token
[string] - testflight your team token
testflight.notify
[bool] - send notifications to teammates
Accepts parameterBUILD_NOTES
as release note for upload. You can add it in Jenkins build job as "Text Field" parameter. Or just pass as ENV parameter. -
Xcode Module
Switch between Xcode versions
name:xcode
Config Parameters:xcode: enabled: false version: v4
xcode.enabled
[bool] - whether is module enabled for configuration
xcode.version
[string] - Xcode version defined in global config (by default in~/.bs_modulo.yml
)