Open source, self hosted, mobile optimized CI powered by fastlane
Ruby TypeScript HTML CSS Other
Clone or download
Latest commit 54e278b Jul 16, 2018
Permalink
Failed to load latest commit information.
agent Rubocop fixes. Jul 10, 2018
app Remove outdated # TODOs (#1085) Jul 16, 2018
docs Update Projects.md Jun 26, 2018
fastlane Add web unit tests to Fastfile (#697) Apr 18, 2018
lib add cop for pessimistic version locking (#909) May 22, 2018
protos Remove Agent.spawn as that was only a playground for experimenting wi… Jun 15, 2018
public Fixed session-based flash messages. Apr 15, 2018
spec Remove outdated # TODOs (#1085) Jul 16, 2018
web Remove test helpers folder from prod build (#1067) Jul 10, 2018
.angular-cli.json Added All the styles and form inputs for the add project dialog (#770) Apr 30, 2018
.dockerignore Dockerfile updates (#839) May 10, 2018
.gitignore Add IntelliJ project files to gitignore Jun 13, 2018
.overcommit.yml Add overcommit Jun 20, 2018
.pre-commit add tslint to the Fastfile (#658) Apr 13, 2018
.rubocop.yml Added initial specs for `FastlaneCI::CheckForNewCommitsOnGithubWorker`. Jul 7, 2018
.ruby-version Added comment Apr 13, 2018
CODEOWNERS Gemfile & Gemfile.lock force multiple reviewers May 21, 2018
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md Feb 16, 2018
CONTRIBUTING.md Add link to use_cases to CONTRIBUTING.md Feb 26, 2018
Dockerfile Add Docker-specific rake tasks (#857) May 14, 2018
Gemfile Rubocop fixes. Jul 10, 2018
Gemfile.lock Fix server crash by updating `git` dependency with `bundle update git`. Jun 26, 2018
LICENSE Add MIT license Jan 30, 2018
PULL_REQUEST_TEMPLATE.md Update for API change to git ruby (#1032) Jun 25, 2018
Procfile add Profile for foreman (#1088) Jul 16, 2018
README.md Support deployment using Vagrant (#850) May 16, 2018
Rakefile fix dev bootstrap (#908) May 21, 2018
VISION.md Fix wording Apr 4, 2018
Vagrantfile Code style fixes (#926) May 24, 2018
config.ru Refactor of initial config clone and server bootup Feb 1, 2018
docker-compose.yml Add support to Docker Apr 8, 2018
fastlane_app.rb Make file sending path relative to current file (#1047) Jun 29, 2018
karma.conf.js Add coverage support for coveralls (#900) May 31, 2018
launch.rb Fix startup error if no pull request triggers are defined. Jul 10, 2018
package.json Add coverage support for coveralls (#900) May 31, 2018
tsconfig.json Move ng app into web (#370) Mar 26, 2018
tslint.json Add icon component (#720) Apr 20, 2018
vagrant-provision.sh Support deployment using Vagrant (#850) May 16, 2018

README.md

fastlane Logo

License Coverage Status

[Alpha 🌋] fastlane.ci

Open source, self-hosted, mobile-optimized CI powered by fastlane brought to you by the fastlane team.

  • Git first: 100% of your configuration files are stored in git, wherever you want
  • Configuration files first: Human readable and editable config files, fully transparent
  • Open source: Just like fastlane, fastlane.ci is open source and community driven
  • Self hosted: You should be able to own your CI systems, and scale up as needed
  • Adapters: Store your configuration and artifacts on services you already use, like GitHub or your own git server
  • Native fastlane integration: Already use fastlane? fastlane.ci will work right out of the box for you
  • Mobile first, mobile only: For now, we're focusing exclusively on building the best CI system for mobile app devs
  • Built in the open: Together with all of you, MIT licensed
  • Visual interface: Thanks to fastlane.ci you'll be able to benefit from fastlane without having to use the terminal

Statement

We strongly believe in making Continuous Integration systems for mobile app developers better. While CI is a solved problem for backend and frontend applications, mobile ecosystems saw almost no improvements in their workflows. Three years ago we solved the problem of mobile app deployment with fastlane. We want to stay true to our long-term vision of automating every single aspect of your daily development workflow. Together, with the community, we have the experience and know-how to build a world-class, easy-to-use mobile-only CI, with the added benefits of being fully self-hosted and open source.

With this project, we don't just want to make using CI easier, we want to bring fastlane to the next level. While building fastlane.ci, we'll be introducing new features like visually previewing your Fastfile, automatically clearing old TestFlight testers from your account, getting notifications when your app gets approved, and more.

Interested? Be the first to hear about the official release

Project Status

  • This project is a work in progress (WIP) and shouldn't be used in production yet
  • The idea is to build and iterate with the mobile development community out in the open
  • We'd love your help to shape the product, check out CONTRIBUTING.md for more info
  • Our complete task list is available on our public GitHub board
  • We also have our current milestones listed
  • We started a poll to get a better feeling of how you'd be using fastlane.ci, please comment and let us know.

Docs

System Requirements

Requires Ruby 2.3.3 or higher. macOS and Xcode are required when building iOS projects. Refer to the fastlane documentation for more information.

Using fastlane.ci

Right now, fastlane.ci is in Alpha, we'd love for you to give it a try. Getting up and running isn't as smooth as it will be once we ship a public release, but it shouldn't be too hard:

  1. Open the Terminal on the Mac you want to run as fastlane.ci
  2. git clone https://github.com/fastlane/ci
  3. cd ci
  4. gem install bundler
  5. bundle install
  6. bundle exec rake prod
  7. Up at running at localhost:8080

Using the fastlane.ci Angular frontend

Check out web for more details on how to set things up. Note that the Angular-based front-end doesn't cover all the features of the traditional web-frontend yet.

Using fastlane.ci with Docker

Currently, Docker deployment is for Linux projects only.

  1. Install Docker
  2. Open the Terminal on the Mac or on a Linux you want to run as fastlane.ci
  3. git clone https://github.com/fastlane/ci
  4. cd ci
  5. docker-compose up
  6. Up at running at localhost:8080

Using fastlane.ci with Vagrant

  1. Install Vagrant: brew cask install vagrant
  2. Install VirtualBox: brew cask install virtualbox
  3. vagrant up. You will be asked for your password.
  4. vagrant ssh
  5. cd /fastlane-ci
  6. bundle exec rake dev
  7. Up at running at localhost:8080

Configure fastlane.ci

  1. Visit localhost:8080
  2. Follow the onboarding instructions in your browser. In particular you'll have to create a separate GitHub account that will be used for all bot activities

Development installation

Run the rake task: rake dev_bootstrap.

  1. Install all dependencies (ruby, javascript)
  2. Add a pre-commit hook

Local development

bundle exec rake dev

Visit localhost:8080 to open the login

If you're having trouble and need to debug, you can add the following environment variables: FASTLANE_CI_VERBOSE=1 and DEBUG=1

FASTLANE_CI_VERBOSE enables extra logging which includes thread ids, and other non-essential information that could be useful during debugging.

Run tests

bundle exec rspec

Code style

bundle exec rubocop -a

License

This project is licensed under the terms of the MIT license. See the LICENSE file.

This project and all fastlane tools are in no way affiliated with Apple Inc.


Interested? Be the first to hear about the official release