├── .env-sample ├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── VERSION └── docker-compose.yml /.env-sample: -------------------------------------------------------------------------------- 1 | export ITC_USER= 2 | export ITC_PASSWORD= 3 | export ITC_APP_ID= 4 | export ITC_APP_TESTER_GROUPS= -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .env -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:2.2.4 2 | MAINTAINER Eric McNiece 3 | 4 | ENV CHECKOUT_ID=5f8692ef3ee19df32b7f20b169c7eca7a00a9477 5 | 6 | RUN apt-get update -qq && apt-get install -y --no-install-recommends build-essential \ 7 | # for postgres 8 | libpq-dev \ 9 | # for nokogiri 10 | libxml2-dev libxslt1-dev \ 11 | # for capybara-webkit 12 | libqt4-webkit libqt4-dev xvfb \ 13 | python python-dev python-pip python-virtualenv \ 14 | nodejs \ 15 | # cleanup 16 | && rm -rf /var/lib/apt/lists/* 17 | 18 | RUN mkdir -p boarding && cd boarding \ 19 | && git clone https://github.com/fastlane/boarding.git . \ 20 | && git checkout $CHECKOUT_ID \ 21 | && gem install bundler \ 22 | && bundle install 23 | 24 | WORKDIR /boarding 25 | CMD bundle exec puma -C config/puma.rb -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Creates a base image for emcniece/docker-boarding 2 | 3 | NAMESPACE := emcniece 4 | PROJECT := docker-boarding 5 | PLATFORM := linux 6 | ARCH := amd64 7 | DOCKER_IMAGE := $(NAMESPACE)/$(PROJECT) 8 | RUN_NAME := $(NAMESPACE)-$(PROJECT) 9 | 10 | VERSION := $(shell cat VERSION) 11 | GITSHA := $(shell git rev-parse --short HEAD) 12 | 13 | all: help 14 | 15 | help: 16 | @echo "---" 17 | @echo "IMAGE: $(DOCKER_IMAGE)" 18 | @echo "VERSION: $(VERSION)" 19 | @echo "---" 20 | @echo "make image - compile Docker image" 21 | @echo "make run - run container normally" 22 | @echo "make run-debug - run container with tail" 23 | @echo "make docker - push to Docker repository" 24 | @echo "make release - push to latest tag Docker repository" 25 | 26 | image: 27 | docker build -t $(DOCKER_IMAGE):$(VERSION) \ 28 | -f Dockerfile . 29 | 30 | run: 31 | docker run -d \ 32 | -e ITC_USER=${ITC_USER} \ 33 | -e ITC_PASSWORD=${ITC_PASSWORD} \ 34 | -e ITC_APP_ID=${ITC_APP_ID} \ 35 | -e ITC_APP_TESTER_GROUPS="${ITC_APP_TESTER_GROUPS}" \ 36 | -p 3000:3000 \ 37 | --name $(RUN_NAME) \ 38 | $(DOCKER_IMAGE):$(VERSION) 39 | 40 | run-debug: 41 | docker run -d --rm \ 42 | -e ITC_USER=${ITC_USER} \ 43 | -e ITC_PASSWORD=${ITC_PASSWORD} \ 44 | -e ITC_APP_ID=${ITC_APP_ID} \ 45 | -p 3000:3000 \ 46 | --name $(RUN_NAME) 47 | $(DOCKER_IMAGE):$(VERSION) \ 48 | tail -f /dev/null 49 | 50 | docker: 51 | @echo "Pushing $(DOCKER_IMAGE):$(VERSION)" 52 | docker push $(DOCKER_IMAGE):$(VERSION) 53 | 54 | release: docker 55 | @echo "Pushing $(DOCKER_IMAGE):latest" 56 | docker tag $(DOCKER_IMAGE):$(VERSION) $(DOCKER_IMAGE):latest 57 | docker push $(DOCKER_IMAGE):latest 58 | 59 | kill: 60 | docker kill $(RUN_NAME) 61 | docker rm $(RUN_NAME) 62 | 63 | clean: 64 | docker rmi $(DOCKER_IMAGE):$(VERSION) 65 | docker rmi $(DOCKER_IMAGE):latest 66 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Docker-Boarding 2 | 3 | A Docker container for [Fastlane/Boarding](https://github.com/fastlane/boarding/) 4 | 5 | DockerHub: https://hub.docker.com/r/emcniece/docker-boarding/ 6 | 7 | ## Running 8 | 9 | Pull the docker container, then run with your desired environment variables: 10 | 11 | ```sh 12 | docker pull emcniece/docker-boarding 13 | 14 | docker run -d \ 15 | -e ITC_USER=myUser@domain.com \ 16 | -e ITC_PASSWORD=passForMyUser \ 17 | -e ITC_APP_ID=targetAppId \ 18 | -e ITC_APP_TESTER_GROUPS="My Testers Group" \ 19 | -p 3000:3000 \ 20 | emcniece/docker-boarding 21 | ``` 22 | 23 | Docker-Compose can also be used - fill out the environment variables in [docker-compose.yml](./docker-compose.yml) and execute: 24 | 25 | ```sh 26 | docker-compose up -d 27 | ``` 28 | 29 | ## Building 30 | 31 | If you have Make installed, the Makefile will help with building the container. 32 | 33 | Ensure that `.env` is populated (copy [.env-sample](./.env-sample)) before building and running. 34 | 35 | ```sh 36 | # Load environment variables for Makefile use 37 | source .env 38 | 39 | # Show commands 40 | make 41 | 42 | # Build image 43 | make image 44 | 45 | # Run container normally 46 | make run 47 | 48 | # Run container without starting app 49 | make run-debug 50 | 51 | # Upload to Dockerhub 52 | make docker 53 | 54 | # Tag with VERSION and upload 55 | make release 56 | 57 | # Remove running named container 58 | make kill 59 | 60 | # Remove image from your system 61 | make clean 62 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 0.0.2 -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | 5 | boarding: 6 | image: emcniece/docker-boarding:0.0.2 7 | ports: 8 | - 3000:3000 9 | environment: 10 | ITC_USER: myUser@domain.com 11 | ITC_PASSWORD: passForMyUser 12 | ITC_APP_ID: targetAppId 13 | # Optional - exclude if unsure 14 | #ITC_APP_TESTER_GROUPS: "My Testers Group" 15 | --------------------------------------------------------------------------------