You can use this image on such CI/CD like Bitbucket/GitLab/GitHub Actions/etc, which uses docker containers.
Example for bitbucket-pipelines.yml file:
image: softartdev/android-fastlane
pipelines:
default:
- step:
name: Build step
script:
- ./gradlew build
- step:
name: Publish step
script:
- fastlane playstore
For fastlane step within your repository you must have Fastfile with match lane inside:
default_platform(:android)
platform :android do
lane :playstore do
gradle(
task: 'bundle', # for AAB, or use 'assemble' for APK
build_type: 'Release'
)
upload_to_play_store # Uploads the APK/AAB built in the gradle step above
end
end
Desirable debug it locally before push to remote repository.
Pull the published image:
docker pull softartdev/android-fastlane:36.1Create and enter a named container with the current project mounted:
docker run --name android-fastlane -it \
-v "$PWD":/workspace \
-w /workspace \
softartdev/android-fastlane:36.1 \
bashStart the same container again:
docker start -ai android-fastlaneOpen another terminal inside the running container:
docker exec -it android-fastlane bashRemove the named container:
docker stop android-fastlane
docker rm android-fastlaneRun a project from the current directory inside a disposable container:
docker run --rm -it \
-v "$PWD":/workspace \
-w /workspace \
softartdev/android-fastlane:36.1 \
bashBuild or publish the mounted project:
docker run --rm -it \
-v "$PWD":/workspace \
-w /workspace \
softartdev/android-fastlane:36.1 \
./gradlew build
docker run --rm -it \
-v "$PWD":/workspace \
-w /workspace \
softartdev/android-fastlane:36.1 \
fastlane playstore