Construire un environnement de développement est le premier obstacle au développement, une tâche fastidieuse et complexe.
――Collision avec l'environnement conventionnel et tout est détruit ――Le problème se produit car l'environnement est légèrement différent de celui des membres de l'équipe
La version de base résout les tracas du développement environnemental, et la version avancée propose un nouveau développement qui combine sécurité et expérience de développement. Cette méthode peut être appliquée à la plupart des langages, mais cette fois, nous expliquerons l'utilisation de ** python **, qui est l'un des langages où la construction d'un environnement de développement est problématique.
** Le favori provient de la version avancée **
VSCode [Remote-Containers](https://marketplace.visualstudio.com/items?itemName=ms- Connaissez-vous une extension appelée vscode-remote.remote-containers)? Si vous le connaissez, sautez cette édition de base et passez à l'édition avancée!
C'est un diagramme en image de la page officielle
Pour expliquer brièvement Remote-Containers, il s'agit d'une extension de Dieu qui construit un environnement de développement avec un conteneur docker et exécute le code dedans, mais édite et débogue le code avec VSCode à portée de main.
Parce que l'environnement de développement est verrouillé dans le conteneur
Il y a des mérites tels que. Il n'y a presque aucun inconvénient. Il s'agit d'un niveau d'extension qui doit être utilisé sauf si vous ne pouvez pas utiliser VS Code pour des raisons religieuses. Divers articles ont déjà été écrits à ce sujet, veuillez donc vous y référer pour la méthode d'introduction, etc.
Je n'ai pas donné une explication détaillée des principes de base dans cet article parce qu'il dit "se tenir sur les épaules des géants", mais s'il vous plaît, jetez un œil aux liens de référence et présentez-le. Vous n'avez plus à vous soucier de la création d'un environnement de développement. (J'espère que la guerre des outils de construction d'environnement python sera terminée)
C'est le coup de coeur de cet article! Nous partirons du principe que les bases de Remote-Containers sont supprimées.
Remote-Containers est un outil de développement sur docker, vous n'avez donc pas besoin d'utiliser docker-daemon sur votre PC local. En d'autres termes, les configurations suivantes sont possibles.
Ce qui est important ici
Est sur la machine distante. Et
Est sur la machine locale. Le lieu. En d'autres termes, ** La machine locale est un PC client léger avec des spécifications faibles et ne contient que VSCode et ses paramètres. Le code source et le débogage peuvent être configurés sur un serveur distant puissant **. C'est à la fois une expérience de développement et de sécurité, et je pense que cela pourrait être un nouveau style de développement.
Cette fois, je vais le créer en utilisant mon PC et une instance sur GCP. Peu importe qu'il s'agisse d'AWS ou d'Azure. Si vous souhaitez utiliser autre chose que GCP, veuillez le lire comme il convient.
--GCP est prêt à l'emploi
GCP a une image de VM spécialisée pour la configuration d'un conteneur, je vais donc l'utiliser pour cette fois. N'hésitez pas à définir la zone.
gcloud compute instances create [instance_name] \
--image-family cos-stable \
--image-project cos-cloud \
--machine-type n1-standard-1
Une fois l'instance activée, essayez ssh.
gcloud compute ssh [instance_name]
Lorsque ssh est terminé avec succès, écrivez les paramètres ssh sur votre PC.
gcloud compute config-ssh
Maintenant, la clé ssh est enregistrée sur votre PC et vous pouvez ssh avec ssh [nom_instance]. [Zone]. [Nom_projet]
. essayez-le.
S'il vous plaît ssh à VM. Je pense que la commande git
est déjà incluse, donc clonez n'importe quel projet depuis git.
Si vous ne trouvez rien, créez ʻapp.py et
requirements.txt. Faites attention aux droits d'accès. Étant donné que vous pouvez le toucher depuis l'intérieur du conteneur, vous devez accéder au groupe Docker. Si cela vous pose problème, veuillez utiliser
ch mod 777 -R [chemin du répertoire du projet]` cette fois et définir le droit d'accès à Gaba Gaba pour le moment.
Créez un répertoire pour le fichier de configuration et placez-y le fichier de configuration pour Remote-Container. Prenons un projet python comme exemple. Tout d'abord, clonez l'exemple de projet Microsoft qui contient le fichier de configuration.
git clone https://github.com/microsoft/vscode-remote-try-python.git
Il existe différents fichiers pour python, donc
Veuillez tout supprimer sauf.
Ensuite, ajoutez un paramètre pour utiliser le docker-daemon de la VM sur GCP avec le plug-in Remote-Contaienrs.
Créez setting.json
dans .vscode
et écrivez ce qui suit.
{
"docker.host": "ssh://[container_name].[zone].[project_name]"
}
Ensuite, modifiez le répertoire cible de montage du projet.
Ajoutez deux valeurs-clés à .devcontainer / .devcontainer.json
.
"workspaceMount": "source=[Chemin complet du projet sur GCP],target=/workspace,type=bind,consistency=delegated",
"workspaceFolder": "/workspace"
Avec ce paramètre, lorsque le conteneur est configuré sur GCP, le projet créé précédemment sera monté.
Sélectionnez «Rouvrir dans le conteneur» dans le menu du plug-in vscode Remote-Containers pour vous connecter au docker-daemon sur la VM GCP, configurer un conteneur, y ouvrir le projet et connecter vscode. Après cela, vous pouvez vous développer librement!
Cette fois, j'ai expliqué la partie de base et la partie avancée séparément. J'ai omis les bases et l'explication détaillée de Remote-Container, mais le simple fait d'utiliser Remote-Container a normalement des avantages considérables tels que l'élimination du besoin de créer un environnement de développement et l'unification de l'environnement parmi les membres. Il y a. De plus, en utilisant la méthode utilisant le docker-daemon distant introduit dans la section application, il est possible d'opérer en mettant les ressources de calcul sur un PC puissant sans mettre le code sur le PC à portée de main. Je pense que c'est une méthode de développement qui équilibre la sécurité et l'expérience de développement.
Essayez-le.
Recommended Posts