Compile on Docker/it: Difference between revisions

From FreeCAD Documentation
(Created page with "{{Docnav/it |Compilazione su MacOS |Velocizzare la compilazione }}")
No edit summary
 
(45 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{UnfinishedDocu}}
{{UnfinishedDocu{{#translation:}}}}

{{Docnav/it
{{Docnav/it
|[[Compile on MacOS/it|Compilazione su MacOS]]
|[[Compile_on_MacOS/it|Compilazione su MacOS]]
|[[FreeCAD_Docker_CLI_mode/it|Modalità CLI di FreeCAD Docker]]
|[[Compiling (Speeding up)/it|Velocizzare la compilazione]]
}}
}}

==Overview==


{{TOCright}}
{{TOCright}}


<span id="Overview"></span>
Among the options for building and installing FreeCAD, there is the option of using Docker. This method is primarily useful for FreeCAD developers, using Linux or Mac OS computers.
==Presentazione==


Tra le opzioni per la compilazione e l'installazione di FreeCAD, c'è la possibilità di utilizzare Docker. Questo metodo è utile principalmente per gli sviluppatori di FreeCAD che utilizzano computer Linux o Mac OS.
===Benefits===


<span id="Benefits"></span>
All of FreeCAD's dependencies are already installed, compatible with each other, and configured appropriately, allowing you to get started developing very quickly.
===Vantaggi===
* The dependencies are contained within the docker container, preventing any unwanted packages contaminating your workstation, and preventing any clashing versions.
* The source code and build directories are outside the docker container. This allows you to use your preferred editors, versioning systems, dev tools etc, without having to set them up in the docker container. You can just use them as normal, right from your workstation. (Also, it means you don't have to rebuild the docker container each time you want to build FreeCAD.)
* For those using obscure *nix distros and [[Compile_on_Linux/Unix#Getting_the_dependencies|instructions are not available]] for fetching dependencies, all you need to install on your workstation is docker, which is quite commonly available across many distributions.
* It provides a static, immutable development environment. I personally find this useful when developing to reduce the number of potential variables that could be causing an issue. You know you've not altered something esoteric in the environment between builds. For developers collaborating, and both using the same docker container, you can be sure you're both working from the same environment, which reduces communication errors caused by differences in environment.


Tutte le dipendenze di FreeCAD sono già installate, compatibili tra loro e configurate in modo appropriato, consentendo di iniziare a sviluppare molto rapidamente.
==Docker Repository==
* Le dipendenze sono contenute all'interno del contenitore docker, impedendo ad eventuali pacchetti indesiderati di contaminare la tua workstation e prevenendo eventuali conflitti tra versioni.
* Il codice sorgente e le directory di compilazione sono al di fuori del contenitore docker. Ciò ti consente di utilizzare i tuoi editor preferiti, i sistemi di controllo delle versioni, gli strumenti di sviluppo e così via, senza doverli configurare nel contenitore docker. Puoi semplicemente usarli normalmente, direttamente dalla tua postazione di lavoro. (Inoltre, significa che non è necessario ricostruire il contenitore docker ogni volta che si desidera creare FreeCAD.)
* Per coloro che usano oscure distribuzioni *nix per le quali le [[Compile_on_Linux/it#Ottenere_le_dipendenze|istruzioni non sono disponibili]] per recuperare le dipendenze, tutto ciò che si deve installare sulla workstation è docker, che è comunemente disponibile in molte distribuzioni.
* Fornisce un ambiente di sviluppo statico e immutabile. Personalmente lo trovo utile durante lo sviluppo per ridurre il numero di potenziali variabili che potrebbero causare un problema. Si è sicuri di non aver alterato qualcosa di esoterico nell'ambiente tra le build. Per gli sviluppatori che collaborano ed utilizzano lo stesso contenitore docker, si può essere certi di lavorare tutti sullo stesso ambiente, il che riduce gli errori di comunicazione causati dalle differenze nell'ambiente.


<span id="Docker_Repository"></span>
* Original: https://gitlab.com/daviddaish/freecad_docker_env
==Repository Docker==
* Official: https://GitHub.com/FreeCAD/Docker


* Originario: https://gitlab.com/daviddaish/freecad_docker_env
==Prerequisites==
* Ufficiale: https://GitHub.com/FreeCAD/Docker


<span id="Prerequisites"></span>
* 10GB of free storage
==Prerequisiti==

* 10GB di spazio libero
* Docker
* Docker


==Installation==
<span id="Installation"></span>
==Installazione==


<span id="Download_the_source"></span>
===Download the source===
===Scarica i sorgenti===


The best way to get FreeCAD's source code is to clone the [https://github.com/FreeCAD/FreeCAD Git repository]. For this you need the {{incode|git}} program which can be easily installed in most Linux and Mac OS distributions, and it can also be obtained from the [http://git-scm.com/ official website].
Il modo migliore per ottenere il codice sorgente di FreeCAD è clonare il [https://github.com/FreeCAD/FreeCAD repository Git]. Per questo è necessario il programma {{incode|git}} che può essere facilmente installato nella maggior parte delle distribuzioni Linux e Mac OS, e può anche essere ottenuto dal [http://git-scm.com/ sito ufficiale].


This will place a copy of the latest version of the FreeCAD source code in a new directory called {{incode|freecad_source}}.
Questo collocherà una copia dell'ultima versione del codice sorgente di FreeCAD in una nuova directory chiamata {{incode|freecad_source}}.


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 42: Line 49:
}}
}}


Per ulteriori informazioni sull'utilizzo di Git e sul contributo del codice al progetto, vedere [[Source_code_management/it|Gestione del codice sorgente]].
For more information on using Git, and contributing code to the project, see [[Source code management|Source code management]].


==== Source archive ====
==== Archivio dei sorgenti ====
Alternatively you can download the source as an [https://github.com/FreeCAD/FreeCAD/releases/latest archive], a {{incode|.zip}} or {{incode|.tar.gz}} file, and unpack it in the desired directory.
In alternativa si può scaricare il sorgente dall'[https://github.com/FreeCAD/FreeCAD/releases/latest archivio], in un file {{incode|.zip}} o {{incode|.tar.gz}} e scompattarlo nella directory desiderata.


<span id="Create_build_directory"></span>
===Create build directory===
===Creare la cartella di compilazione===


Create a directory to hold your compiled FreeCAD source.
Creare una directory per contenere il sorgente di FreeCAD compilato.


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 55: Line 63:
}}
}}


<span id="Pull_Docker_image"></span>
===Pull Docker image===
===Prelevare l'immagine Docker===


Pull the Docker image. (Official image coming soon.)
Prelevare l'immagine Docker. (Immagine ufficiale in arrivo.)


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 63: Line 72:
}}
}}


<span id="Allow_access_to_your_window_manager"></span>
===Allow access to your window manager===
===Consentire l'accesso al tuo gestore di finestre===


Affinché FreeCAD possa avviare la sua GUI dall'interno del contenitore Docker, è necessario concedere le autorizzazioni di accesso a Docker al gestore delle finestre. Nella maggior parte delle distribuzioni Linux, questo è il sistema X Window. È possibile utilizzare il comando seguente per consentire l'accesso generale a X, fino al riavvio o alla disconnessione dal computer.
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.


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 71: Line 81:
}}
}}


If you're connected to any untrusted systems, such as via {{incode|ssh}}, this will make you vulnerable to malicious code. Either close any {{incode|ssh}} connections, or look into more secure xhost permissions, which is outside the scope of this tutorial.
Se si è connessi a qualsiasi sistema non affidabile, ad esempio tramite {{incode|ssh}}, questo ti renderà vulnerabile al codice dannoso. Chiudere tutte le connessioni {{incode|ssh}} o cercare autorizzazioni xhost più sicure, ciò esula dallo scopo di questo tutorial.


<span id="Mac_OS_users"></span>
====Mac OS users====
====Utenti Mac OS====


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. [https://www.xquartz.org/ You can find it here].
Per coloro che utilizzano Mac OS, il sistema X Window potrebbe non essere installato. Il progetto XQuartz è un progetto open source di lunga durata che ti consentirà di aggiungerlo al tuo computer. [https://www.xquartz.org/ Lo trovi qui].


<span id="Launch_the_docker_image"></span>
===Launch the docker image===
===Lanciare l'immagine the docker===


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.
Assegnare le variabili di ambiente in modo che il contenitore Docker monti il ​​codice sorgente di FreeCAD e crei la directory. Inoltre, si può montare una cartella aggiuntiva per contenere tutti i file che si desidera utilizzare a scopo di test. Nello snippet sottostante, è stata lasciata come home directory per semplice impostazione predefinita.


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 87: Line 99:
}}
}}


Launch the Docker image.
Avviare l'immagine Docker.


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 98: Line 110:
}}
}}


<span id="Build_FreeCAD"></span>
===Build FreeCAD===
===Compilare FreeCAD===


È possibile creare FreeCAD utilizzando lo script di compilazione installato o utilizzando il metodo preferito.
You can build FreeCAD using the installed build script, or using your preferred method.


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 106: Line 119:
}}
}}


<span id="Run_FreeCAD"></span>
===Run FreeCAD===
===Eseguire FreeCAD===


Una volta che FreeCAD è stato compilato, può essere eseguito normalmente.
Once FreeCAD has been built, it can be run as normal.


{{Code|lang=bash|code=
{{Code|lang=bash|code=
Line 114: Line 128:
}}
}}


You can find the attached directories in the {{incode|/mnt}} directory.
Puoi trovare le directory allegate nella cartella {{incode|/mnt}}.


==Discussion==
<span id="Discussion"></span>
==Discussioni==


FreeCAD forum thread: https://forum.freecadweb.org/viewtopic.php?f=4&t=42954
* [https://forum.freecadweb.org/viewtopic.php?f=4&t=42954 Docker env build container]
* [https://forum.freecadweb.org/viewtopic.php?f=10&t=48266 VSCode setup with Docker (1)]
* [https://forum.freecadweb.org/viewtopic.php?p=427812#p427812 VSCode setup with Docker (2)]


==Related==
<span id="Related"></span>
==Correlazioni==


* [[AppImage]]
* [[AppImage]]



{{Docnav
{{Docnav/it
|[[Compile on MacOS|Compile on MacOS]]
|[[Compile_on_MacOS/it|Compilazione su MacOS]]
|[[Compiling (Speeding up)|Compiling (Speeding up)]]
|[[FreeCAD_Docker_CLI_mode/it|Modalità CLI di FreeCAD Docker]]
}}
}}



Latest revision as of 09:51, 8 April 2023

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

Presentazione

Tra le opzioni per la compilazione e l'installazione di FreeCAD, c'è la possibilità di utilizzare Docker. Questo metodo è utile principalmente per gli sviluppatori di FreeCAD che utilizzano computer Linux o Mac OS.

Vantaggi

Tutte le dipendenze di FreeCAD sono già installate, compatibili tra loro e configurate in modo appropriato, consentendo di iniziare a sviluppare molto rapidamente.

  • Le dipendenze sono contenute all'interno del contenitore docker, impedendo ad eventuali pacchetti indesiderati di contaminare la tua workstation e prevenendo eventuali conflitti tra versioni.
  • Il codice sorgente e le directory di compilazione sono al di fuori del contenitore docker. Ciò ti consente di utilizzare i tuoi editor preferiti, i sistemi di controllo delle versioni, gli strumenti di sviluppo e così via, senza doverli configurare nel contenitore docker. Puoi semplicemente usarli normalmente, direttamente dalla tua postazione di lavoro. (Inoltre, significa che non è necessario ricostruire il contenitore docker ogni volta che si desidera creare FreeCAD.)
  • Per coloro che usano oscure distribuzioni *nix per le quali le istruzioni non sono disponibili per recuperare le dipendenze, tutto ciò che si deve installare sulla workstation è docker, che è comunemente disponibile in molte distribuzioni.
  • Fornisce un ambiente di sviluppo statico e immutabile. Personalmente lo trovo utile durante lo sviluppo per ridurre il numero di potenziali variabili che potrebbero causare un problema. Si è sicuri di non aver alterato qualcosa di esoterico nell'ambiente tra le build. Per gli sviluppatori che collaborano ed utilizzano lo stesso contenitore docker, si può essere certi di lavorare tutti sullo stesso ambiente, il che riduce gli errori di comunicazione causati dalle differenze nell'ambiente.

Repository Docker

Prerequisiti

  • 10GB di spazio libero
  • Docker

Installazione

Scarica i sorgenti

Il modo migliore per ottenere il codice sorgente di FreeCAD è clonare il repository Git. Per questo è necessario il programma git che può essere facilmente installato nella maggior parte delle distribuzioni Linux e Mac OS, e può anche essere ottenuto dal sito ufficiale.

Questo collocherà una copia dell'ultima versione del codice sorgente di FreeCAD in una nuova directory chiamata freecad_source.

git clone https://github.com/FreeCAD/FreeCAD.git ~/my_code/freecad_source

Per ulteriori informazioni sull'utilizzo di Git e sul contributo del codice al progetto, vedere Gestione del codice sorgente.

Archivio dei sorgenti

In alternativa si può scaricare il sorgente dall'archivio, in un file .zip o .tar.gz e scompattarlo nella directory desiderata.

Creare la cartella di compilazione

Creare una directory per contenere il sorgente di FreeCAD compilato.

mkdir ~/my_code/freecad_build

Prelevare l'immagine Docker

Prelevare l'immagine Docker. (Immagine ufficiale in arrivo.)

docker pull registry.gitlab.com/daviddaish/freecad_docker_env:latest

Consentire l'accesso al tuo gestore di finestre

Affinché FreeCAD possa avviare la sua GUI dall'interno del contenitore Docker, è necessario concedere le autorizzazioni di accesso a Docker al gestore delle finestre. Nella maggior parte delle distribuzioni Linux, questo è il sistema X Window. È possibile utilizzare il comando seguente per consentire l'accesso generale a X, fino al riavvio o alla disconnessione dal computer.

xhost +

Se si è connessi a qualsiasi sistema non affidabile, ad esempio tramite ssh, questo ti renderà vulnerabile al codice dannoso. Chiudere tutte le connessioni ssh o cercare autorizzazioni xhost più sicure, ciò esula dallo scopo di questo tutorial.

Utenti Mac OS

Per coloro che utilizzano Mac OS, il sistema X Window potrebbe non essere installato. Il progetto XQuartz è un progetto open source di lunga durata che ti consentirà di aggiungerlo al tuo computer. Lo trovi qui.

Lanciare l'immagine the docker

Assegnare le variabili di ambiente in modo che il contenitore Docker monti il ​​codice sorgente di FreeCAD e crei la directory. Inoltre, si può montare una cartella aggiuntiva per contenere tutti i file che si desidera utilizzare a scopo di test. Nello snippet sottostante, è stata lasciata come home directory per semplice impostazione predefinita.

fc_source=~/my_code/freecad_source
fc_build=~/my_code/freecad_build
other_files=~/

Avviare l'immagine Docker.

docker run -it --rm \
-v $fc_source:/mnt/source \
-v $fc_build:/mnt/build \
-v $other_files:/mnt/files \
-e "DISPLAY" -e "QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
registry.gitlab.com/daviddaish/freecad_docker_env:latest

Compilare FreeCAD

È possibile creare FreeCAD utilizzando lo script di compilazione installato o utilizzando il metodo preferito.

/root/build_script.sh

Eseguire FreeCAD

Una volta che FreeCAD è stato compilato, può essere eseguito normalmente.

/mnt/build/bin/FreeCAD

Puoi trovare le directory allegate nella cartella /mnt.

Discussioni

Correlazioni