Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcoturi/ionic-docker
An ionic image for CI
https://github.com/marcoturi/ionic-docker
android chrome-headless ci cordova doker gitlab-ci ionic scss-lint yarn
Last synced: about 3 hours ago
JSON representation
An ionic image for CI
- Host: GitHub
- URL: https://github.com/marcoturi/ionic-docker
- Owner: marcoturi
- License: mit
- Created: 2016-10-11T08:29:28.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-01-17T12:59:13.000Z (10 months ago)
- Last Synced: 2024-04-10T15:58:59.920Z (7 months ago)
- Topics: android, chrome-headless, ci, cordova, doker, gitlab-ci, ionic, scss-lint, yarn
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/marcoturi/ionic
- Size: 33.2 KB
- Stars: 56
- Watchers: 9
- Forks: 39
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://tldrlegal.com/license/mit-license#summary) [![Docker Hub](https://img.shields.io/badge/docker-ready-blue.svg)](https://registry.hub.docker.com/u/marcoturi/ionic) [![](https://images.microbadger.com/badges/image/marcoturi/ionic.svg)](https://microbadger.com/images/marcoturi/ionic "Get your own image badge on microbadger.com") [![](https://images.microbadger.com/badges/version/marcoturi/ionic.svg)](https://microbadger.com/images/marcoturi/ionic "Get your own version badge on microbadger.com")
# Ionic-docker
A ionic 1/2 image to be used with Gitlab CI### Inspired by:
- https://github.com/procoders/ionic-docker
- https://hub.docker.com/r/webnicer/protractor-headless/~/dockerfile/
- https://github.com/agileek/docker
- http://stackoverflow.com/questions/29558444/angularjs-grunt-bower-gitlab-ci-setup-for-testing
- https://github.com/tippiq/docker-protractor### Features
- Node
- Npm or Yarn
- Ionic
- Cordova
- Android sdk and build tools
- Ready to run Google Chrome Headless for e2e tests
- Ruby
- Scss-lint support## Usage
```
docker run -ti --rm -p 8100:8100 -p 35729:35729 marcoturi/ionic
```
If you have your own ionic sources, you can launch it with:```
docker run -ti --rm -p 8100:8100 -p 35729:35729 -v /path/to/your/ionic-project/:/myApp:rw marcoturi/ionic
```### Automation
With this alias:```
alias ionic="docker run -ti --rm -p 8100:8100 -p 35729:35729 --privileged -v /dev/bus/usb:/dev/bus/usb -v ~/.gradle:/root/.gradle -v \$PWD:/myApp:rw marcoturi/ionic ionic"
```> Due to a bug in ionic, if you want to use ionic serve, you have to use --net host option :
```
alias ionic="docker run -ti --rm --net host --privileged -v /dev/bus/usb:/dev/bus/usb -v ~/.gradle:/root/.gradle -v \$PWD:/myApp:rw marcoturi/ionic ionic"
```> Know you need gradle for android, I suggest to mount ~/.gradle into /root/.gradle to avoid downloading the whole planet again and again
you can follow the [ionic tutorial](http://ionicframework.com/getting-started/) (except for the ios part...) without having to install ionic nor cordova nor nodejs on your computer.
```bash
ionic start myApp tabs
cd myApp
ionic serve
# If you didn't used --net host, be sure to chose the ip address, not localhost, or you would not be able to use it
```
open http://localhost:8100 and everything works.### Android tests
You can test on your android device, just make sure that debugging is enabled.```bash
cd myApp
ionic cordova platform add android
ionic cordova build android
ionic cordova run android
```### FAQ
* The application is not installed on my android device
* Try `docker run -ti --rm -p 8100:8100 -p 35729:35729 --privileged -v /dev/bus/usb:/dev/bus/usb -v \$PWD:/myApp:rw marcoturi/ionic adb devices` your device should appear
* The adb devices show nothing whereas I can see it when I do `adb devices` on my computer
* You can't have adb inside and outside docker at the same time, be sure to `adb kill-server` on your computer before using this image