FreddieChopin / bleeding-edge-toolchain

All-in-one script to build bleeding-edge-toolchain for ARM microcontrollers
71 stars 24 forks source link

Docker #8

Open cszawisza opened 7 years ago

cszawisza commented 7 years ago

Hi!

this is more a question then an issue but... Did you think about dockerize entire toolchain with IDE and all kind of good stuff?

adamvm commented 4 years ago

I would support development of this feature

FreddieChopin commented 4 years ago

My personal knowledge of docker is zero and I have very little practice (I know how to run something, but just because I have the commands listed in a text file). My preference would therefore be to make this script easier to use for everyone (either by code improvements or by improving the docs/README) than to make such packaged toolchain with the assumption that this thing is so hard to use that docker is easier... Making a package that would contain not only the toolchain but also IDE and other software is a strange idea - if you would pick 3 developers at random, most likely they would be using 4 different IDEs (; Everyone has their own "favourite" IDE (be it Eclipse, vscode, emacs, vim, no-IDE-at-all, ...). Everyone has their own set of useful tools (some people use OpenOCD, others use tools from ST or other vendor, ...). And so on, and so on... But if someone wants to support and implement that - fine, be my guest.

adamvm commented 4 years ago

Personaly I would focus on pure toolchain docker like mine for x86 Linux https://hub.docker.com/repository/docker/sieger/u20cpp

Trass3r commented 4 years ago

I use it for building. Could be a starting point for packaging.

Federerer commented 4 years ago

I've made alpine-based version: Dockerfile It contains only toolchain and it can be used in CI scenarios or as a base image (you can add your favourite tools etc). In my opinion pulling a precompiled image is more convenient than 2+ hours build every time a new version is released 😉 BTW if you use vscode, the C/C++ extension might be supported under alpine in the future: #4827 so @cszawisza's idea should be easily achievable using remote-containers extension.

adamvm commented 4 years ago

Step 1/5 : FROM ubuntu:rolling ---> 1d622ef86b13 Step 2/5 : ENV DEBIAN_FRONTEND=noninteractive ---> Using cache ---> c70caaa02067 Step 3/5 : RUN apt update && apt install -y build-essential bison flex texinfo python-dev g++-mingw-w64-x86-64 p7zip-full git curl xz-utils rdfind ---> Using cache ---> e1646ba18f24 Step 4/5 : WORKDIR /mnt/host ---> Using cache ---> e0a6e05eef51 Step 5/5 : ENTRYPOINT ["bash", "build-bleeding-edge-toolchain.sh", "--skip-documentation", "--enable-win64"] ---> Using cache ---> 04530592bd83 Successfully built 04530592bd83 Successfully tagged bleedingedge:200508

adamvm commented 4 years ago

What credentials should I use to connect with instance?

How this flag will interact "--enable-win64" if I have Docker on host machine with Ubuntu 20.04 LTS ?

adamvm commented 4 years ago

CLion expect that I will logon to remote toolchain with username and password In another menu selected Docker image was launched with binding ssh port lto local machine port

image