Compile on Docker/pl

Informacje ogólne
Wśród opcji kompilacji i instalacji FreeCAD istnieje możliwość użycia Dockera. Ta metoda jest przydatna przede wszystkim dla programistów FreeCAD korzystających z komputerów z systemem Linux lub Mac OS.

Korzyści
Wszystkie zależności FreeCAD są już zainstalowane, kompatybilne ze sobą i odpowiednio skonfigurowane, co pozwala na bardzo szybkie rozpoczęcie programowania.
 * Zależności są zawarte w kontenerze docker, co zapobiega zanieczyszczeniu stacji roboczej niechcianymi pakietami i kolizji wersji.
 * Kod źródłowy i katalogi kompilacji znajdują się poza kontenerem docker. Pozwala to na korzystanie z preferowanych edytorów, systemów wersjonowania, narzędzi deweloperskich itp. bez konieczności konfigurowania ich w kontenerze docker. Możesz po prostu używać ich normalnie, bezpośrednio ze stacji roboczej. (Oznacza to również, że nie musisz odbudowywać kontenera docker za każdym razem, gdy chcesz skompilować FreeCAD).
 * Dla tych, którzy używają niejasnych dystrybucji *nix i instrukcje nie są dostępne do pobierania zależności, wszystko, co musisz zainstalować na swojej stacji roboczej, to docker, który jest dość powszechnie dostępny w wielu dystrybucjach.
 * Zapewnia on statyczne, niezmienne środowisko programistyczne. Osobiście uważam to za przydatne podczas programowania, aby zmniejszyć liczbę potencjalnych zmiennych, które mogą powodować problemy. Wiesz, że nie zmieniłeś czegoś ezoterycznego w środowisku między kompilacjami. W przypadku deweloperów współpracujących ze sobą i korzystających z tego samego kontenera docker, można mieć pewność, że obaj pracują w tym samym środowisku, co zmniejsza liczbę błędów komunikacyjnych spowodowanych różnicami w środowisku.



Repozytorium Docker

 * Oryginał: https://gitlab.com/daviddaish/freecad_docker_env
 * Oficjalny: https://GitHub.com/FreeCAD/Docker

Wymagania wstępne

 * 10 GB wolnej przestrzeni dyskowej.
 * Docker.

Instalacja


Pobieranie źródła
Najlepszym sposobem na uzyskanie kodu źródłowego FreeCAD jest sklonowanie repozytorium Git. W tym celu potrzebny jest program, który można łatwo zainstalować w większości dystrybucji systemów Linux i Mac OS, a także można go uzyskać z oficjalnej strony internetowej Git.

Poniższe polecenie umieści kopię najnowszej wersji kodu źródłowego programu FreeCAD w nowym katalogu o nazwie.

Więcej informacji na temat używania środowiska Git i wnoszenia kodu do projektu można znaleźć na stronie Zarządzanie kodem źródłowym.

Archiwum źródła
Alternatively you can download the source as an archive, a or  file, and unpack it in the desired directory.



Utwórz katalog kompilacji
Utwórz katalog do przechowywania skompilowanego źródła FreeCAD.



Ściągnij obraz Docker
Ściągnij obraz Docker. (Oficjalny obraz wkrótce).

Allow access to your window manager
In order for FreeCAD to launch it's GUI from within the Docker container, you need to give Docker access permissions to your window manager. In most Linux distributions, this is the X window system. You can use the below command to allow blanket access to X, until you reboot or logoff your computer.

If you're connected to any untrusted systems, such as via, this will make you vulnerable to malicious code. Either close any connections, or look into more secure xhost permissions, which is outside the scope of this tutorial.

Mac OS users
For those using Mac OS, the X window system may not be installed. The XQuartz project is a long running open source project that will allow you to add it to your computer. You can find it here.

Launch the docker image
Assign environment variables so the Docker container will mount FreeCAD's source code, and build directory. In addition, you can mount an extra directory to contain any files you'd like to use for testing purposes. In the below snippet, we've left it as your home directory as a simple default.

Launch the Docker image.

Build FreeCAD
You can build FreeCAD using the installed build script, or using your preferred method.

Run FreeCAD
Once FreeCAD has been built, it can be run as normal.

You can find the attached directories in the directory.

Discussion

 * Docker env build container
 * VSCode setup with Docker (1)
 * VSCode setup with Docker (2)

Related

 * AppImage