Coder Social home page Coder Social logo

3dslicer-extension-with-docker's Introduction

3Dslicer-extension-with-Docker

This is a demo to run, test, build extensions and package your own variant of 3DSlicer right from the latest released version (currently Slicer 4.4).

How it works?

  • 3DSlicer is built and compiled from source (with CMake), and the result is stored on DockerHub as a Docker image.
  • This image is pulled and we can run it or extend it locally within Docker.
  • On top of that, Wercker allows us to automate the test and deployement for every single 'push' made to this repository.

While Docker guarantees reliability and reproducibility without waiting for most of the dependencies to be installed and the code source to compile, Wercker allows continuous delivery of your applications, by testing and reporting for every single push to the repository (and even locally after any file modification saved... hot topic!).

Getting started

Running 3Dslicer

To run Slicer on your machine. Pull the Docker image, i.e. the source code of 3Dslicer already built and compiled:

$ sudo docker pull patrickmerlot/3dslicer-docker-image

and run the image (as an interactive Docker container), which is like entering a virtual environment where 3Dslicer is already installed from source and ready to run:

$ sudo docker run -t -i patrickmerlot/3dslicer-docker-image /bin/bash
...
$ bash-4.2# ls
...
$ bash-4.2# /myProject/Slicer/Slicer-SuperBuild-Debug/Slicer
...
$ exit

Test 3Dslicer

Modify/Extend 3Dslicer

Package your variant

Setting up your own Automation-driven development

  • Create a new repository on GitHub. To avoid errors, do not initialize the new repository with README, license, or gitignore files. You can add these files after your project has been pushed to GitHub.
  • Clone this repository and push it to your own Github/Bitbucket account.
$ git clone https://github.com/Patechoc/3Dslicer-extension-with-Docker.git
$ cd 3Dslicer-extension-with-Docker
$ git remote rm origin
$ git remote add origin <remote repository URL>
  • Push the changes (or simply this clone untouched) from your local repository to GitHub.
$ git push origin master
  • Sign up/Log in to your Wercker account
  • Register your Github account in the Settings if not already done
  • Create a new application and follow the steps (Select a repository, ...) until you clicked on "Finish"
  • In your new application, change the Wercker version to 5 ("Ewok"). In "Settings" > "Infrastructure stack", select "Infra Stack 5"/"Ewok". This allows Wercker to pull Docker images.
  • You are done! Now every time you will "push" to your Github repo, Wercker will test your code following the steps detailled in wercker.yml

3dslicer-extension-with-docker's People

Contributors

patechoc avatar

Watchers

 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.