Der Aufbau einer Entwicklungsumgebung ist das erste Hindernis für die Entwicklung, eine mühsame und komplexe Aufgabe.
――Kollision mit der konventionellen Umgebung und alles wird zerstört ――Problem tritt auf, weil sich die Umgebung geringfügig von den Teammitgliedern unterscheidet
Die Basisversion löst den Aufwand der Umweltentwicklung, und die erweiterte Version schlägt eine Neuentwicklung vor, die Sicherheit und Entwicklungserfahrung kombiniert. Diese Methode kann auf die meisten Sprachen angewendet werden. Dieses Mal werden wir jedoch die Verwendung von ** Python ** erläutern, einer der Sprachen, in denen das Erstellen einer Entwicklungsumgebung problematisch ist.
** Der Favorit ist aus der erweiterten Version **
VSCode [Remote-Container](https://marketplace.visualstudio.com/items?itemName=ms- Kennen Sie eine Erweiterung namens vscode-remote.remote-container? Wenn Sie es wissen, überspringen Sie diese Basisausgabe und gehen Sie zur erweiterten Ausgabe!
Es ist ein Bilddiagramm der offiziellen Seite
Um Remote-Container kurz zu erläutern, handelt es sich um eine God-Erweiterung, die eine Entwicklungsumgebung mit einem Docker-Container erstellt und darin Code ausführt, den Code jedoch mit VSCode bearbeitet und debuggt.
Weil die Entwicklungsumgebung im Container gesperrt ist
Es gibt Verdienste wie. Es gibt fast keine Nachteile. Dies ist eine Erweiterungsstufe, die verwendet werden sollte, es sei denn, Sie können VS Code aus religiösen Gründen nicht verwenden. Es wurden bereits verschiedene Artikel darüber geschrieben, daher beziehen Sie sich bitte auf die Einführungsmethode usw.
Ich habe die Grundlagen in diesem Artikel nicht im Detail erklärt, weil dort "auf den Schultern von Riesen stehen" steht, aber bitte schauen Sie sich die Referenzlinks an und stellen Sie sie vor. Sie müssen sich nicht mehr um die Erstellung einer Entwicklungsumgebung kümmern. (Ich hoffe, dass der Krieg um die Python-Umgebung beendet wird.)
Dies ist der Favorit dieses Artikels! Wir gehen davon aus, dass die Grundlagen von Remote-Containern unterdrückt werden.
Remote-Container sind ein Tool für die Entwicklung auf Docker, sodass Sie Docker-Daemon auf Ihrem lokalen PC nicht verwenden müssen. Mit anderen Worten sind die folgenden Konfigurationen möglich.
Was ist hier wichtig?
Befindet sich auf dem Remote-Computer. Und
Ist auf dem lokalen Computer. Der Ort. Mit anderen Worten: ** Der lokale Computer ist ein Thin Client-PC mit schwachen Spezifikationen und enthält nur VSCode und seine Einstellungen. Der Quellcode und das Debug können auf einem starken Remote-Server konfiguriert werden **. Dies ist sowohl eine Entwicklungserfahrung als auch Sicherheit, und ich denke, es könnte ein neuer Entwicklungsstil sein.
Dieses Mal werde ich es tatsächlich mit meinem PC und einer Instanz auf GCP erstellen. Es spielt keine Rolle, ob es sich um AWS oder Azure handelt. Wenn Sie etwas anderes als GCP verwenden möchten, lesen Sie dies bitte entsprechend.
GCP hat ein VM-Image, das auf das Einrichten eines Containers spezialisiert ist, daher werde ich dieses für diese Zeit verwenden. Fühlen Sie sich frei, die Zone einzustellen.
gcloud compute instances create [instance_name] \
--image-family cos-stable \
--image-project cos-cloud \
--machine-type n1-standard-1
Versuchen Sie ssh, sobald die Instanz aktiv ist.
gcloud compute ssh [instance_name]
Wenn ssh erfolgreich abgeschlossen wurde, schreiben Sie die ssh-Einstellungen auf Ihren PC.
gcloud compute config-ssh
Jetzt wird der ssh-Schlüssel auf Ihrem PC gespeichert und Sie können ssh mit ssh [Instanzname]. [Zone]. [Projektname]
. Versuch es.
Bitte ssh an VM. Ich denke, dass der Befehl git
bereits enthalten ist, also klonen Sie jedes Projekt von git.
Wenn Ihnen nichts einfällt, erstellen Sie "app.py" und "require.txt".
Achten Sie auf die Zugriffsrechte. Da Sie es aus dem Container heraus berühren können, benötigen Sie Zugriff auf die Docker-Gruppe.
Wenn es problematisch ist, verwenden Sie dieses Mal ch mod 777 -R [Projektverzeichnispfad]
und legen Sie vorerst das Zugriffsrecht auf Gaba Gaba fest.
Erstellen Sie ein Verzeichnis für die Konfigurationsdatei und legen Sie dort die Konfigurationsdatei für Remote-Container ab. Nehmen wir als Beispiel ein Python-Projekt. Klonen Sie zunächst das Microsoft-Beispielprojekt, das die Konfigurationsdatei enthält.
git clone https://github.com/microsoft/vscode-remote-try-python.git
Es gibt also verschiedene Dateien für Python
Bitte löschen Sie alles außer.
Fügen Sie als Nächstes eine Einstellung hinzu, um den Docker-Daemon der VM auf GCP mit dem Plug-In Remote-Contaienrs zu verwenden.
Erstellen Sie settings.json
in .vscode
und schreiben Sie Folgendes.
{
"docker.host": "ssh://[container_name].[zone].[project_name]"
}
Ändern Sie als Nächstes das Mount-Zielverzeichnis des Projekts.
Fügen Sie .devcontainer / .devcontainer.json
zwei Schlüsselwerte hinzu.
"workspaceMount": "source=[Vollständiger Projektpfad zu GCP],target=/workspace,type=bind,consistency=delegated",
"workspaceFolder": "/workspace"
Mit dieser Einstellung wird beim Einrichten des Containers in GCP das zuvor erstellte Projekt bereitgestellt.
Wählen Sie im Plug-in-Menü von vscode Remote-Containers die Option In Container erneut öffnen
, um eine Verbindung zum Docker-Daemon auf der GCP-VM herzustellen, einen Container einzurichten, das Projekt dort zu öffnen und vscode zu verbinden.
Danach können Sie sich frei entwickeln!
Dieses Mal habe ich die Basisversion und die erweiterte Version separat erklärt. Ich habe die Grundlagen und die ausführliche Erklärung von Remote-Container weggelassen, aber selbst wenn Sie Remote-Container normal verwenden, gibt es erhebliche Vorteile, wie die unnötige Erstellung einer Entwicklungsumgebung und die Vereinheitlichung der Umgebung unter den Mitgliedern. Es gibt. Darüber hinaus ist es mithilfe der im Anwendungsabschnitt eingeführten Methode des Remote-Docker-Daemons möglich, die Berechnungsressourcen auf einem leistungsstarken PC zu speichern, ohne den Code auf dem vorhandenen PC zu speichern. Ich denke, es ist eine Entwicklungsmethode, die Sicherheit und Entwicklungserfahrung in Einklang bringt.
Versuch es bitte.