Prostředí pro psaní kódu pro vývojáře

Dokončeno

V oblasti přípravy platforem je jedním z běžných problémů zajištění toho, aby vývojáři mohli rychle a konzistentně nastavit své programovací prostředí, zejména když se noví vývojáři připojují k týmům, vývojáři přecházejí mezi projekty nebo potřebují škálování. Automatizace nastavení vývojářských prostředí může zjednodušit onboarding a eliminovat ztrátu času kvůli chybné konfiguraci nebo nefunkčním závislostem. Díky poskytování předem nakonfigurovaných prostředí nebo skriptů nastavení se týmy můžou soustředit na vývoj, a ne na odstraňování potíží s nekonzistencí prostředí.

Přístup ke správě vývojářských prostředí se může lišit, ale často zahrnuje virtualizaci, kontejnerizaci a standardizované šablony, které odpovídají potřebám organizace. To může být v rozsahu od plně virtualizovaných prostředí Windows až po kontejnery hostované v cloudu pro vývoj pro Linux. Kromě toho je vytváření šablon "start right", které podporují konzistenci, osvědčené postupy a zabezpečení, protože kód je nezbytný k udržování dobře definovaného opakovatelného procesu, který se škáluje napříč týmy. Tím zajistíte, že pracovní postup vývoje nejen začne hladce, ale bude i nadále dodržovat osvědčené postupy a udržovat projekty v souladu se zabezpečením a provozními standardy.

Automatizace nastavení vývojářského programovacího prostředí

Vývojářské kódování prostředí bootstrapping a normalizace mohou být velkým problémem v technických systémech. Mezi klíčové problémy patří:

  • Dlouhé časy onboardingu: Může trvat týdny, než nový vývojář přispívá, zejména při převodu vývojářů mezi projekty nebo přenesení dodavatelů.
  • Nekonzistence: Rozdíly mezi vývojovými prostředími a systémy CI často vedou k problémům s "funguje na mém počítači".
  • Nestabilita prostředí: Experimentování s architekturami a upgradem architektur a softwaru může narušit stávající konfigurace, což vede k potenciálně zdlouhavým a složitým řešením potíží.
  • Zpoždění kontroly kódu: Změny konfigurace potřebné pro revize kódu můžou zpomalit vývoj, protože je potřeba je vrátit zpět později.
  • Zpřísnění pro všechny zúčastněné strany: Role nesouvisecí s vývojem (jako jsou operátoři, kontrola kvality a obchodní sponzory) musí být také vytrénovány a zapojeny, což způsobuje větší zpoždění.

Tyto problémy vyřešíte standardizací a automatizací nastavení vývojářských prostředí prostřednictvím nástrojů, skriptů nebo kontejnerizovaných nebo virtualizovaných prostředí. Předem nakonfigurovaná prostředí přizpůsobená konkrétním projektům nebo potřebám organizace můžou zajistit konzistenci, zkrátit dobu nastavení a zlepšit celkovou produktivitu.

Kódování prostředí pro Windows a Linux

Při cílení na nahrazení nebo úplnou virtualizaci pracovních stanic ve Windows obvykle virtuální počítače poskytují nejlepší funkce. Tento přístup je výhodný pro vývoj klientů pro Windows, správu webových aplikací celé architektury .NET nebo údržbu služeb Systému Windows. Můžete použít virtuální počítače hostované v cloudu, jako je Microsoft Dev Box, které nabízí kompletní virtualizaci pracovních stanic s Windows s integrací do softwaru pro správu stolních počítačů. Místní virtuální počítače můžete také použít s nástroji, jako je HashiCorp Vagrant pro správu prostředí, a HashiCorp Packer je možné použít k vytváření imagí virtuálních počítačů pro Vagrant i Dev Box.

Pro cílení na Linux je virtualizace pracovních prostorů vhodnější a zaměřuje se spíše na prostředí specifická pro projekty nebo aplikace, a ne nahrazování plné plochy. Kontejnery hostované v cloudu jsou běžnou volbou s možnostmi, jako je GitHub Codespaces, které poskytuje cloudové vývojové prostředí kompatibilní s VS Code, JetBrains IntelliJ a terminálovými nástroji. Pokud možnosti cloudu nevyhovují vašim potřebám, SSH nebo vzdálené tunelové propojení VS Code podporuje připojení k virtuálním počítačům s Linuxem v místním prostředí. Místní kontejnery jsou navíc možností, pokud dáváte přednost místnímu spouštění Dev Containers. VS Code a IntelliJ poskytují robustní podporu pro tato prostředí. Pro větší flexibilitu je možné použít také virtuální počítače hostované v cloudu, kde můžete SSH přímo do virtuálních počítačů s Linuxem spravovaných vlastním systémem používat. V případech, kdy vývojáři pracují výhradně ve Windows, nabízí subsystém Windows pro Linux (WSL) pohodlné místní vývojové řešení pro Linux. Distribuce WSL je možné exportovat a sdílet napříč týmy. Cloudové služby, jako je Microsoft Dev Box, také podporují WSL pro vývoj pro Linux.

Použití šablon aplikací pro konzistenci a standardizaci

K podpoře konzistence, standardizace a osvědčených postupů napříč vývojovými týmy můžou organizace používat šablony aplikací jako součást přístupu "vše jako kód". Tyto šablony můžou zjednodušit vývoj a zajistit, aby týmy zůstaly na zavedených zpevněných cestách. Pro organizace, které sledují monorepo vzor, se dají použít nástroje, jako je Azure Developer CLI (azd), k vytváření šablon, které zahrnují nejen nastavení zdrojů aplikací, ale také konfigurace prostředí a pracovní postupy CI/CD.

Při vytváření šablon pro vývoj je vhodné zvážit různé klíčové oblasti, které zajistí, aby šablony byly komplexní a konzistentní a dodržují osvědčené postupy:

  • Ukázkový zdrojový kód: Zahrňte vzorový zdrojový kód, který vývojářům pomůže s doporučenými jazyky, aplikačními modely, službami, rozhraními API, sadami SDK a vzory architektury.
  • Skripty sestavení a nasazení: Začlenit skripty, které nabízejí konzistentní způsob, jak aktivovat sestavení a nasadit místně nebo do prostředí sandboxu. Ujistěte se, že konfigurace ladění v integrovaném vývojovém prostředí nebo editoru jsou zahrnuté pro synchronizaci s kanály CI/CD.
  • Konfigurace CI/CD: Poskytuje pracovní postupy nebo kanály pro sestavování a nasazování aplikací, což umožňuje opakovaně používat centralizované pracovní postupy. Zacházejte s těmito šablonami jako se šablonami "start right" a ujistěte se, že umožňují ruční aktivaci v případě potřeby.
  • Prostředky infrastruktury jako kódu (IaC): Zahrnují doporučené konfigurace a odkazy na centrálně spravované moduly, aby se zajistilo, že nastavení infrastruktury dodržují osvědčené postupy.
  • Zabezpečení a zásady jako prostředky kódu: Přidáním konfiguračních souborů souvisejících se zabezpečením, jako jsou CODEOWNERS a dependabot.yaml, začleníte zabezpečení přímo do procesu vývoje. Naplánované pracovní postupy pro kontroly zabezpečení, včetně nástrojů, jako je Microsoft Defender for Cloud, by se měly poskytnout pro vložení zabezpečení do kanálu CI/CD a zvýšení zabezpečení dodavatelského řetězce.
  • Pozorovatelnost, monitorování a protokolování: Poskytují konfigurace nastavení pro monitorovací nástroje, jako je IaC pro nasazení agenta nebo konfigurace jako kód pro monitorování řídicích panelů. Zahrňte vzorový kód pro protokolování a distribuované trasování, abyste zajistili efektivní monitorování aplikací po nasazení.
  • Nastavení prostředí kódování: Přidejte konfigurační soubory pro lintery, formátovací moduly a prostředí IDEs a nastavte skripty pro virtualizovaná vývojová prostředí, jako jsou devcontainer.json, devbox.yaml nebo soubory související s Dockerem.
  • Konfigurace testu: Poskytuje soubory pro testování částí a rozsáhlejší testovací scénáře pomocí nástrojů, jako je Microsoft Playwright Testing nebo Azure Load Testing.

Nastavení nástroje pro spolupráci: Pokud je to podporováno, uveďte šablony úkolů nebo problémů nebo šablony pr jako kód. Volitelně můžete zadat pracovní postupy, které používají dostupné rozhraní CLI nebo rozhraní API k aktualizaci systémů nebo konfiguraci nástrojů pro spolupráci, jako jsou Microsoft Teams nebo Slack.