All Projects → vgaidarji → Ci Matters

vgaidarji / Ci Matters

Licence: apache-2.0
Integration (comparison) of different continuous integration services on Android project

Programming Languages

groovy
2714 projects

Projects that are alternatives of or similar to Ci Matters

Ci Detector
Detect continuous integration environment and get information of current build
Stars: ✭ 138 (+15.97%)
Mutual labels:  ci, jenkins, travis-ci, circleci
CI-Utils
Utilities for running Common Lisp on CI platforms
Stars: ✭ 18 (-84.87%)
Mutual labels:  circleci, travis-ci, ci, gitlab-ci
Nevergreen
🐤 A build monitor with attitude
Stars: ✭ 170 (+42.86%)
Mutual labels:  ci, jenkins, travis-ci, circleci
docker-coala-base
coala base docker image
Stars: ✭ 20 (-83.19%)
Mutual labels:  circleci, travis-ci, ci, gitlab-ci
Pupernetes
Spin up a full fledged Kubernetes environment designed for local development & CI
Stars: ✭ 199 (+67.23%)
Mutual labels:  ci, travis-ci, circleci
Env Ci
Get environment variables exposed by CI services
Stars: ✭ 180 (+51.26%)
Mutual labels:  ci, jenkins, circleci
ci-minikube
run minikube on ci
Stars: ✭ 28 (-76.47%)
Mutual labels:  circleci, travis-ci, ci
ci playground
Playground for Cloud CI development for C++
Stars: ✭ 23 (-80.67%)
Mutual labels:  circleci, travis-ci, ci
Build Harness
🤖Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more
Stars: ✭ 236 (+98.32%)
Mutual labels:  jenkins, travis-ci, circleci
developer-ci-benefits
Talk docs—includes CI (Continuous Integration) benefits, description, and setup tips 💡💪
Stars: ✭ 29 (-75.63%)
Mutual labels:  circleci, travis-ci, ci
drupal9ci
One-line installers for implementing Continuous Integration in Drupal 9
Stars: ✭ 137 (+15.13%)
Mutual labels:  circleci, travis-ci, gitlab-ci
build-status
Emacs minor mode that monitors and shows a buffer's build status in the mode line.
Stars: ✭ 26 (-78.15%)
Mutual labels:  circleci, travis-ci, ci
Cize
🔌 Continuous integration with the simplest solution
Stars: ✭ 100 (-15.97%)
Mutual labels:  ci, jenkins, travis-ci
Jervis
Travis-like Jenkins job generation using Job DSL plugin groovy scripts. Reads .travis.yml and generates a job in Jenkins.
Stars: ✭ 248 (+108.4%)
Mutual labels:  automation, jenkins, travis-ci
Monorepo
Showcase of how to manage building projects inside monorepo with Gradle as build tool and CircleCI, Bitbucket Pipelines, Travis CI or GitHub Actions as CI tool.
Stars: ✭ 129 (+8.4%)
Mutual labels:  ci, travis-ci, circleci
Cibuildwheel
🎡 Build Python wheels for all the platforms on CI with minimal configuration.
Stars: ✭ 620 (+421.01%)
Mutual labels:  ci, travis-ci, circleci
Mkdkr
Make + Docker + Shell = CI Pipeline
Stars: ✭ 225 (+89.08%)
Mutual labels:  jenkins, travis-ci, gitlab-ci
CIAnalyzer
A tool collecting multi CI services build data and export it for creating self-hosting build dashboard.
Stars: ✭ 52 (-56.3%)
Mutual labels:  jenkins, circleci, ci
Skyhook
Parses webhooks and forwards them in the proper format to Discord.
Stars: ✭ 263 (+121.01%)
Mutual labels:  jenkins, travis-ci, circleci
Cargo Make
Rust task runner and build tool.
Stars: ✭ 895 (+652.1%)
Mutual labels:  travis-ci, circleci, gitlab-ci

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].