Git Product home page Git Product logo

dockerthon's Introduction

Docker for iOS Development

Build and ship iOS apps with standard docker client. Just drop a Dockerfile into an XCode project and build+distribute using docker containers.

Getting Started

Requirements

  • OSX (tested with 10.10.3)
  • XCode (tested with 6.3.2)
  • Node.js (tested with 0.10.32)
  • ios-sim (npm install -g ios-sim)

Then drop a Dockerfile into your iOS app directory:

Example Dockerfile

FROM Xcode:7.0
WORKDIR /
COPY . /
RUN xcodebuild
HYDRATE /build/Debug-iphonesimulator/SampleApp.app

The HYDRATE command instructs the docker builder to transform raw bits into a new docker image as an artifact. The architecture is assumed to be iphonesimulator plaform right now. Hence, docker build will output two images:

REPOSITORY          TAG                 IMAGE ID            CREATED                  VIRTUAL SIZE
test-build          latest              9240d3d01481        Less than a second ago   8.884 MB
test                latest              dd5a93fcf2ad        Less than a second ago   8.215 MB

test-build contains the full build directory from the OSX platform. test contains just the ios container (app). you can then docker run the test image to invoke th simulator

Usage

Start up the Daemon

npm install
npm start
export DOCKER_HOST=tcp://localhost:3000

build & run your apps from CLI:

docker build -t=test .
docker run test

Development

Running Tests

npm install 
npm test

Running Sample Project

cd sample
docker build -t=sample-ios-app .
<buid output....>
docker images
<image list>
docker run <image_name>

Roadmap

  • Complete the REST API
  • Registery/store implementations
  • docker-compose and docker-machine support
  • Android development

dockerthon's People

Contributors

jkingyens avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.