Skip to content

Latest commit

 

History

History
96 lines (81 loc) · 2.45 KB

File metadata and controls

96 lines (81 loc) · 2.45 KB

docker-android-fastlane

Docker Pulls Build and publish to DockerHub

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.

Docker cheat sheet

Pull the published image:

docker pull softartdev/android-fastlane:36.1

Create 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 \
  bash

Start the same container again:

docker start -ai android-fastlane

Open another terminal inside the running container:

docker exec -it android-fastlane bash

Remove the named container:

docker stop android-fastlane
docker rm android-fastlane

Run a project from the current directory inside a disposable container:

docker run --rm -it \
  -v "$PWD":/workspace \
  -w /workspace \
  softartdev/android-fastlane:36.1 \
  bash

Build 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

Setup Fastlane

Debug your pipelines locally with Docker