• Stars
    star
    128
  • Rank 281,044 (Top 6 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created about 8 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Integration (comparison) of different continuous integration services on Android project

ci-matters

Integration (comparison) of different continuous integration services on Android project.

CI's integration

TODO

  • Nevercode.io
  • Gitlab CI
  • Drone.io

Comparison

Comparison table

This table should help people make a decision which CI to choose for the project.

CI πŸ‘―,πŸ‘·,πŸ”ŽπŸ›,🚦,πŸ“¬ πŸ“±πŸ‘€ πŸš€ πŸ“„ πŸ“ˆ πŸ‘€πŸ™Œ/☁️ πŸ“»/πŸ’» πŸ’΅
Jenkins ⭐ ⭐ ⭐ ⭐ ⭐ πŸ‘€πŸ™Œ πŸ“»/πŸ’» πŸ†“
TeamCity ⭐ ⭐ ⭐ ⭐ ⭐ πŸ‘€πŸ™Œ/☁️ πŸ’» πŸ’°πŸ’°πŸ’°
Travis CI ⭐ ⭐ ⭐ ⭐ ❌ ☁️ πŸ’» πŸ’°πŸ’°
Bitrise ⭐ ⭐ ⭐ ⭐ ❌ ☁️ πŸ’» πŸ’°πŸ’°
Shippable ⭐ ⭐ ⭐ ⭐ ❌ ☁️ πŸ“» πŸ’°
Circle CI ⭐ ⭐ ⭐ ⭐ ❌ ☁️ πŸ’» πŸ’°πŸ’°
Buddybuild ⭐ ⭐ ❌ ❌ ❌ ☁️ πŸ’» πŸ’°πŸ’°
GitHub Actions ⭐ ⭐ ⭐ ⭐ ❌ ☁️ πŸ’» πŸ†“
Gitlab CI . . . . . . . πŸ’°
Nevecode.io . . . . . . . πŸ’°πŸ’°
Drone.io . . . . . . . πŸ’°
. . . . . . . .
πŸ‘― clone
πŸ‘· build
πŸ”ŽπŸ› test
🚦 analyse
πŸ“¬ notify
πŸ“±πŸ‘€ UI tests πŸš€ deploy πŸ“„ configuration file πŸ“ˆ visual reports πŸ‘€πŸ™Œ/☁️ self-hosted/cloud πŸ“»/πŸ’» CI user interface (old/new) πŸ’΅ price

Pricing

All listed CI's provide free plan with some restrictions like "open-source projects only" or "only 1 build node", but it's enough to configure the build process and check if CI suits or not.

Free plans

Choosing a free plan for a project is more suitable for a freelance project. Usually, some services provide limits on such plans for understandable reasons.

Paid plans

CI's have different approaches and different paid plans. Check every CI pricing information for more details and choose the best option for you.

⚠️ This information can get outdated very quickly as services evolve. ⚠️

What might matter is the starting price for paid plan:

  • Jenkins - starts with X$. (paid version (Cloudbees), no public information)
  • Travis CI - starts with 69$/month. (1 concurrent build, ∞ projects, ∞ build time)
  • Bitrise - starts with 50$/month. (1 concurrent build, ∞ projects, 45 min. max build time)
  • TeamCity - starts with 299$. (4 concurrent builds, 30 project configurations, ∞ build time)
  • Shippable - starts with 25$/month. (2 concurrent builds, ∞ projects, ∞ build time)
  • Gitlab CI - starts with 15$/month. (2 concurrent builds, ∞ projects, ∞ build time)
  • Circle CI - starts with 39$/month. (2 concurrent builds, ∞ projects, 500 minutes build time per month)
  • Nevercode.io - starts with 5$/month. (1 concurrent build, ∞ projects, 90 min. max build time)
  • Drone.io - starts with 25$/month. (1 concurrent build, 5 private projects, ∞ build time)
  • Buddybuild - starts with 79$/month. (1 concurrent build, ∞ projects, ∞ build time)

Presentation

I gave a talk back in 2016 and this repository was a technical part for it. I am describing there configured CI's and providing my personal opinion about which CI to choose depending on your needs (in πŸ‡·πŸ‡Ί language ).

It doesn't contain information about ALL existing CI services, but should be a good start.

CI comparison presentation

In few words:


Checkstyle

Project uses custom Checkstyle rules.


Fabric/Crashlytics project configuration

In order to upload APK to Crashlytics project should have following configuration: ${projectDir}/fabric.properties file with apiSecret and io.fabric.ApiKey in AndroidManifest.xml(1, 2) file. Both keys should not be uploaded to the repository for security reasons!

Pass both parameters to your build from command line:

./gradlew -PfabricApiKey="YOUR_API_KEY" -PfabricApiSecret="YOUR_API_SECRET" crashlyticsUploadDistributionDebug

or export these keys as environment variables on a build machine and they will be automatically read from there during the build (no need to pass keys as parameters in this case).


Coveralls

Coverage Status

Coveralls provides test coverage information. COVERALLS_REPO_TOKEN environment variable should be exported on the build machine.

More Repositories

1

android-github-actions

A GitHub action to build Android projects and run UI tests
Dockerfile
57
star
2

android-github-actions-emulator

A GitHub Action for running Android UI tests on Android emulator.
Dockerfile
43
star
3

android-github-actions-build

A GitHub Action for building Android projects.
Dockerfile
43
star
4

docker-android

Docker image for Android projects
Dockerfile
35
star
5

CustomProgressControls

Custom progress controls for Android
Java
11
star
6

docker-android-cordova

Android + Cordova docker image.
Shell
10
star
7

dependencies-overview

Gradle plugin for Android projects which generates dependencies overview report
Kotlin
9
star
8

steps-lifx-notifier

Step for showing status using your LIFX bulb during builds at bitrise.io.
Shell
5
star
9

any-meeting

Purpose of this project to waste some time attending different meetings
CSS
4
star
10

ObjectExporter

Intellij IDEA plugin for object extraction from debugger
Groovy
4
star
11

github-actions-pr-merger

A GitHub Action which helps automating Pull Request merge routine (aka `Robin`).
JavaScript
3
star
12

steps-cordova-android

Adds support for cordova-based Android projects at bitrise.io.
Shell
2
star
13

AndroidManifestParser

Java
1
star
14

Flavors

Example of Android project flavors.
Java
1
star
15

test-s3-lib-publish

Test project which shows how to publish artifact to AWS S3
1
star
16

KoushSuperuser

Cloned from https://github.com/koush/Superuser/. Has modifications in updater-script
C
1
star
17

docker-android-shippable

Docker image for building Android projects in Shippable CI
Dockerfile
1
star
18

android-db-tricks

Demonstrates work with databases on Android (plain SQL, ORM's).
Java
1
star