Coder Social home page Coder Social logo

bitrise-io / bitrise-base Goto Github PK

View Code? Open in Web Editor NEW
18.0 7.0 20.0 301 KB

ARCHIVE: This repository is sunsetted. The new image's repository will be made available later. | Base Bitrise Docker image

License: MIT License

Shell 40.69% Dockerfile 59.31%
production-code

bitrise-base's Introduction

Base Bitrise Docker image

Based on Ubuntu, with pre-installed bitrise CLI.

This docker image is pre-cached on the related bitrise.io Virtual Machines.

If you'd like to add a tool to be pre-installed you can create a Pull Request, adding your changes to the Dockerfile of this repository. Please also add a related test/report to the system_report.sh file, which is used to test & list the pre-installed tools.

When a new version of this stack is available on bitrise.io we'll run system_report.sh and post the result into the bitrise.io GitHub repository, under the system_reports folder. The system_report.sh script can be run with docker-compose locally too, with: docker-compose run --rm app bash system_report.sh.

Request a feature

Report an issue

Deployment and versions on Docker Hub

There are two images built from this repository:

The "Alpha" images are built and tagged every day, automatically. These are tested regularly with various tests, but are not production ready.

Once an "Alpha" is properly tested and declared as production ready, a "pinned" version is created and published. Pinned versions are considered production ready, and the "latest" pinned version is pre-cached on the bitrise.io Linux/Android Virtual Machines.

This means that if you want to build your own Docker image on top of this Docker image, you should build it on top of bitriseio/docker-bitrise-base:latest, which is the latest tested, pinned, "production" version. Pinned versions are created and pre-cached weekly, usually on Saturday.

If you want to build your own Docker image on top of this image and you want to use it on bitrise.io, you should do that on top of bitriseio/docker-bitrise-base:latest, and make sure you add this image as a Linked Repository on Docker Hub, or that you rebuild your image on every weekend, once the pinned "latest" version is updated, to benefit from the pre-cached image layers (for quite a significant speed up!). Other versions / tags of the image are not pre-cached, only the most recent "latest" tagged version is pre-cached on bitrise.io!

docker-compose template

A docker-compose.yml is also included, configured for quick testing.

To build the image with docker-compose all you have to do is: docker-compose build

Then to run bitrise --version in the container: docker-compose run --rm app bitrise --version

To log into an interactive bash shell inside the container just run: docker-compose run --rm app /bin/bash - when you want to exit just run exit inside the container.

For convenience / experimenting the ./_tmp folder (which is in .gitignore) will be shared to /bitrise/tmp, to make it easy for you to share files with the container.

Every time you change your Dockerfile you'll have to run docker-compose build again, so your next docker-compose run will run in the environment you specify in the Dockerfile.

Maintainer / Service Developer Notes

Docker volumes / shared folders

If you want to use shared volumes / folders with this Docker image, to let e.g. a build to use docker from the container, you should mount a volume / shared folder into /bitrise/, and should include the following dirs in that shared folder:

  • /bitrise/src
  • /bitrise/deploy
  • /bitrise/cache
  • /bitrise/tmp

For maximum compatibility you should share /bitrise from the host to /bitrise in the container.

Also worth to mention that doing this will improve the performance of file moves between these dirs, if the whole /bitrise dir is shared as a single shared folder / volume. Due to how docker handles volumes / shared folders right now, if you move files between shared and non shared dirs it'll have to do a full file copy, while if you move files inside a volume / shared dir (/bitrise in this case) that will be a simple rename, no file copy required.

bitrise-base's People

Contributors

ambientlight avatar bazscsa avatar bitrise-adam avatar bitrise-infrabot avatar bitrise-tom avatar bitrisekristof avatar bitvirago avatar bootstraponline avatar budius avatar christopherdro avatar fehersanyi-bitrise avatar ghaabor avatar kanan-bitrise avatar kdobmayer avatar koral-- avatar lmesz-bitrise avatar mikloslorinczi avatar mrblaise avatar nagypeterjob avatar piotrmoszkowicz avatar renovate[bot] avatar tamaseger81 avatar viktorbenei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  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.