2 votes

Automatiser la configuration de l'espace de travail

Je suis développeur de logiciels et je dois souvent passer d'un projet à l'autre, chacun ayant sa propre configuration d'environnement. Voici quelques actions que je dois effectuer à chaque fois :

  • créer des tunnels ssh
  • connexion des inspecteurs de bases de données
  • appliquer des stashs git avec des chaînes de connexion dev locales
  • démarrage des serveurs locaux
  • ouverture d'un IDE spécifique sur le bon projet
  • récupérer les demandes enregistrées par Postman pour le projet spécifique
  • définir les variables d'environnement
  • ...

Ce sont toutes des tâches très basiques, mais je dois les faire à chaque fois avec une grande perte de temps et des chances de se tromper. Ce serait vraiment cool d'avoir quelque chose comme :

  • une "application" ou une "icône de bureau" portant le nom du projet.
  • Cliquez dessus et un espace de travail dédié s'ouvrira avec tout ce qu'il faut pour commencer à développer.
  • maintenir l'environnement local isolé

Y a-t-il quelque chose de semblable que je puisse installer sur mon Mac ?

Merci

3voto

Oskar Points 1242

Oui. Vous pouvez automatiser des choses sur MacOS.

Avant de commencer, puisque vous êtes un développeur, établissez un budget temps pour les choses que vous devez faire afin d'apprendre à automatiser. Ensuite, amusez-vous à apprendre des choses, la première étant comment diviser un projet en petites tâches.

  • https://xkcd.com/1205/ estimateur rapide pour les budgets temps
  • https://xkcd.com/1319/ une grande partie de ce que vous cherchez pourrait tomber sous le coup de la maintenance continue / du développement continu, cependant...

Avez-vous essayé de voir combien de temps vous pouvez perdre sur les conteneurs ? (jk, pas vraiment) c'est bien supérieur à la création de nombreux comptes utilisateurs et vous ne pouvez pas utiliser des environnements virtuels pour un projet aussi vaste.

3voto

August Mohr Points 301

J'ai trouvé votre question parce que je suis intéressé par le même genre de chose pour mes propres environnements de travail. Je n'ai pas de réponses complètes mais j'ai quelques expériences.

Une approche que j'explore pour mettre en place l'environnement est l'utilisation de Keyboard Maestro, qui permet de créer des scripts, simples ou complexes, un peu comme AppleScript mais avec plus de fonctionnalités, notamment en étant capable de trouver les images des boutons à l'écran. Il n'est pas gratuit (36 $), mais j'ai été suffisamment accroché par la version d'essai gratuite de 30 jours pour l'acheter. Il vous permet une grande variété de déclencheurs pour invoquer des scripts, de l'ouverture ou la fermeture d'une application au branchement d'un périphérique USB en passant par les touches de raccourci du clavier, la saisie de texte ou les gestes de la souris. Il y a aussi un forum d'utilisateurs très utile, ce qui est un gros plus.

L'un des moyens que j'utilise pour permuter des espaces de travail définis est l'application gratuite Current Key, qui vous permet de définir des touches de raccourci pour passer d'un espace de travail à l'autre. Elle dispose également de quelques crochets avec AppleScript pour identifier le moment où vous avez changé manuellement d'espace de travail ou pour passer de manière programmatique à un nouvel espace.

J'aimerais pouvoir appuyer sur une combinaison de touches de raccourci pour accéder à un nouvel écran et faire en sorte que KBM s'assure que l'écran est configuré comme je le souhaite pour le travail de ce projet.

J'ai récemment décidé de modifier les icônes du bureau en changeant le nom de l'icône. Desktop mais la seule façon que j'ai trouvée pour rafraîchir cette mise en page est de redémarrer le Finder, ce qui prend trop de temps pour être invoqué uniquement lors du passage d'un espace de travail à un autre.

En cherchant une alternative, j'ai trouvé http://www.shirt-ediss.me/clarity/ qui, d'après ce que j'ai compris, fait exactement cela : donner des jeux d'icônes de bureau et des arrangements différents sur des bureaux différents. Après l'avoir testé, je me suis rendu compte qu'il modifie l'ensemble de la disposition des icônes pour tous les bureaux. Il peut vous permettre de basculer entre différents jeux d'icônes de bureau, chacun ayant sa propre disposition.

Clarity fonctionne en déplaçant tout ce qui se trouve dans le dossier Desktop plutôt qu'en remplaçant tout le dossier, de sorte qu'il n'est pas nécessaire de redémarrer le Finder. Cela signifie qu'il obtient un nouvel ensemble d'icônes (aucune, ou restauration de l'ensemble original, ou autre) assez rapidement. Toutefois, si vous avez tout caché ou si vous utilisez un contenu limité du Bureau, vous risquez d'avoir du mal à retrouver les éléments qui ont été mis de côté.

J'espère que ces notes vous aideront.

1voto

Douglas Points 10417

Juste pour ajouter mon 2¢...

Tout ce que vous avez listé peut être scripté localement sur votre Mac, sauf un : maintenir l'environnement local isolé

Pour ce faire, vous avez besoin d'environnements séparés. Le meilleur moyen d'y parvenir est d'utiliser des VM, mais au lieu d'avoir une VM pour chaque projet, vous pouvez créer une seule VM de base avec une image disque dans le dossier Mode multi-attaches .

Cela vous permet de créer une machine virtuelle de base avec votre configuration générique, puis d'y attacher autant de machines virtuelles que vous le souhaitez, qui créeront alors Différenciation de sorte que chacune d'entre elles aura ses propres personnalisations comme vous l'avez décrit, mais la taille du disque pour chaque VM sera uniquement celle des modifications que vous aurez apportées. L'avantage est que vous pouvez cloner instantanément une machine pour un nouveau projet, effectuer toutes vos configurations et, lorsque vous êtes prêt à exécuter ce projet, lancer cette VM.

Vous pourriez le faire sur un MacBook Pro avec quelques VM, mais si vous en avez des centaines, vous voudrez probablement investir dans du matériel de qualité serveur (ou de classe station de travail) ou même le pousser vers le cloud comme Azure ou AWS (je teste actuellement le cloud d'Oracle et c'est horrible IMO).

1voto

Oren Mazor Points 2828

Voici quelques suggestions spécifiques pour un sous-ensemble de vos demandes. Notez qu'aucune d'entre elles n'est spécifique au Mac, mais je les ai toutes utilisées avec succès sur un Mac pendant des années (je les utilise en ce moment même !). Je gagne beaucoup gratuitement à être compatible avec UNIX ;)

.env fichiers

  • définir les variables d'environnement
  • appliquer des stashs git avec des chaînes de connexion dev locales

Il s'agit d'une technique de configuration des applications qui évite d'avoir à salir les fichiers contrôlés par la source juste pour apporter des modifications à la configuration locale. Un exemple populaire est la fonction dotenv .

L'essentiel est que vous ayez un ou plusieurs .env* dans votre dossier de projet qui sont ignorés par le contrôle de source. Lorsque vous démarrez vos applications en mode développement, elles lisent les variables d'environnement de ces fichiers pour leur configuration. Cela vous permet de définir votre configuration de développement une fois sans se soucier du contrôle de la source.

Notez que cela s'accorde également avec Applications à 12 facteurs .

Configuration SSH

  • créer des tunnels ssh

Vous pouvez créer un ~/.ssh/config pour définir des valeurs par défaut pour des cas d'utilisation tels que celui-ci. Voici un fichier exemple de billet de blog .

J'utilise ceci lourdement dans mon travail, où je dois travailler avec un hybride de divers vieux systèmes crufty. C'est une aubaine.

Docker/ docker-compose

  • démarrage des serveurs locaux

Si votre logiciel s'y adapte (ce qui est probablement le cas si vous développez pour Windows ou Linux), Docker et docker-compose peut être très utile pour reproduire un logiciel sur différents environnements. Plus généralement, cette technique est appelée "conteneurisation". C'est un sujet très vaste, mais il est très populaire de nos jours pour simplifier les flux de travail des développeurs. Selon moi, l'effort en vaut presque toujours la peine. À défaut d'autre chose.

Cela peut aussi être facilement combiné avec .env des fichiers.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X