Sdílet prostřednictvím


Referenční dokumentace příkazového řádku pro tunely pro vývoj

Vývojové tunely nabízejí nástroj rozhraní příkazového řádku (CLI) pro vytváření a správu vývojových tunelů. Tento článek vysvětluje syntaxi a parametry pro různé devtunnel příkazy rozhraní příkazového řádku.

Důležité

Tato funkce je v současné době ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti.

Poznámka:

devtunnel Příkazy rozhraní příkazového řádku jsou ve verzi Preview. Názvy příkazů a možnosti se mohou v budoucích verzích změnit.

Globální možnosti

  • -v, --verbose: Povolte podrobný výstup.
  • -?, -h, --help: Zobrazí informace o nápovědě a využití.

Správa přihlašovacích údajů uživatele

Služba vývojového tunelu vyžaduje přihlášení pro autorizaci správy a přístupu k vývojových tunelům. Ve výchozím nastavení je vývojový tunel přístupný jenom pro uživatele, který vytvořil vývojový tunel, i když tento uživatel může udělit přístup ostatním.

Po přihlášení se přihlašovací token ukládá do mezipaměti v řetězu zabezpečených klíčů systému a je platný několik dní před vypršením platnosti. Odhlášením z rozhraní příkazového řádku se vymaže tento token uložený v mezipaměti, ale neujasní se žádné soubory cookie prohlížeče. To může zahrnovat přístupové tokeny vývojového tunelu, pokud byl prohlížeč použit k ověření pomocí vývojového tunelu.

Příkaz Popis
devtunnel user login Přihlaste se pomocí účtu Microsoft nebo GitHub.
devtunnel user logout Vymazání tokenu uloženého v mezipaměti
devtunnel user show Zobrazit aktuální stav přihlášení

Tip

devtunnel login a devtunnel logout jsou zkratky pro přihlášení a odhlášení.

Tady je několik příkladů použití těchto příkazů:

Příklady Popis
devtunnel user login Přihlášení pomocí organizace Microsoft (Microsoft Entra ID) nebo osobního účtu
devtunnel user login -g Přihlášení pomocí účtu GitHubu
devtunnel user login -d Pokud místní interaktivní přihlášení prohlížeče není možné, přihlaste se pomocí účtu GitHubu pomocí kódu zařízení.
devtunnel user login -g -d Pokud místní interaktivní přihlášení prohlížeče není možné, přihlaste se pomocí účtu GitHubu pomocí kódu zařízení.

Hostování vývojového tunelu

devtunnel host je hlavní příkaz používaný k hostování vývojového tunelu. Příkaz by se měl spustit na hostitelském systému se serverem, který chcete zpřístupnit prostřednictvím vývojového tunelu.

Příkaz Popis
devtunnel host Hostování vývojového tunelu Pokud není zadané ID vývojového tunelu, vytvoří se nový dočasný vývojový tunel, který se po zavření připojení odstraní.

Tady je několik příkladů použití tohoto příkazu:

Příklady Popis
devtunnel host -p 3000 Hostujte dočasný vývojový tunel pro server, který naslouchá portu 3000 v hostitelském systému.
devtunnel host -p 3000 --allow-anonymous Hostujte dočasný vývojový tunel a povolte anonymní klientský přístup.
devtunnel host -p 3000 5000 Hostování dočasného vývojového tunelu pro místní servery, které naslouchají na portech 3000 a 5000
devtunnel host -p 8443 --protocol https Hostujte dočasný vývojový tunel pro server, který naslouchá na portu 8443, který používá protokol HTTPS.
devtunnel host -p 8000 --expiration 2d Hostování dočasného vývojového tunelu s vlastním časem vypršení platnosti Minimum je 1 hodina (1h) a maximum je 30 dnů (30d).
devtunnel host TUNNELID Hostování existujícího vývojového tunelu, který byl dříve nakonfigurován.

Upozorňující

Povolení anonymního přístupu k vývojovému tunelu znamená, že se kdokoli na internetu může připojit k místnímu serveru, pokud může uhodnout ID vývojového tunelu.

Stisknutím kombinace kláves Control-C zastavte proces hostitele vývojového tunelu a ukončete všechna připojení klientů prostřednictvím vývojového tunelu. Pokud nebyl poskytnut existující vývojový tunel, při ukončení procesu se automaticky vytvořený vývojový tunel odstraní.

Připojení do vývojového tunelu

Pomocí uživatelského rozhraní pro přeposílání webu:

Příkaz devtunnel host zobrazí výstup podobný následujícímu:

Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/

Zobrazený https: identifikátor URI je jedinečný pro port vývojového tunelu: první komponenta je subdoména obsahující dané ID vývojového tunelu a číslo portu.

Pokud se hostovaný port připojí k webovému serveru, můžete tento identifikátor URI otevřít přímo v prohlížeči odkudkoli. Pokud přístup k vývojovému tunelu vyžaduje autorizaci, počáteční požadavek na identifikátor URI se přesměruje na přihlašovací stránku a po autorizaci uživatele se vrátí na web.

Pokud se hostovaný port připojuje k webové službě, můžete tento identifikátor URI použít jako základní identifikátor URI klientské aplikace webové služby. Pokud ale vývojářský tunel nepovoluje anonymní přístup, klient webové služby obvykle nebude vědět, jak se má ověřit. Pokud je webová služba bezpečná pro zveřejnění veřejně, zvažte povolení anonymního přístupu. Jinak může klient webové služby přidat hlavičku požadavku s přístupovým tokenem vývojového tunelu pro autorizaci připojení.

Pomocí rozhraní příkazového řádku:

Místo přímého připojení klientského prohlížeče nebo aplikace k identifikátoru URI přenosového tunelu pro vývoj je možné použít rozhraní příkazového řádku k přesměrování připojení z portu v klientovi na port vývojového tunelu. Klient se může také muset přihlásit, pokud vývojářský tunel nepovoluje anonymní přístup.

devtunnel connect TUNNELID
  • Nahraďte TUNNELID stejným ID vývojového tunelu, které bylo použito na hostiteli.

Úspěšný výstup klienta je podobný následujícímu:

Connected to tunnel: l3rs99qw
SSH: Forwarding from 127.0.0.1:3000 to host port 3000.
SSH: Forwarding from [::1]:3000 to host port 3000.

Server sdílený na portu hostitele 3000 je teď dostupný v localhost:3000 klientovi pomocí protokolu IPv4 nebo IPv6. (Předpona SSH je způsobená tím, že služba vývojového tunelového propojení vychází ze standardního protokolu SSH pro předávání portů.) Pokud se hostovaný port připojí k webovému serveru, http://localhost:3000/ můžete ho otevřít v prohlížeči. V takovém případě není nutná žádná další autorizace, protože přihlašovací token rozhraní příkazového řádku klienta byl v případě potřeby použit k autorizaci připojení.

Pokročilé: Správa vývojových tunelů

Bez hostování je možné vytvořit vývojový tunel. To je užitečné pro pokročilou konfiguraci a správu vývojového tunelu, například:

  • Výpis všech vlastněných vývojových tunelů
  • Přidání a odebrání portů vývojového tunelu
  • Správa řízení přístupu k vývojovému tunelu
  • Přidání metadat do vývojového tunelu, jako je popis a značky
Příkaz Popis
devtunnel create Vytvoření trvalého vývojového tunelu
devtunnel list Výpis vývojových tunelů
devtunnel show Zobrazení podrobností vývojového tunelu
devtunnel update Aktualizace vlastností vývojového tunelu
devtunnel delete Odstranění vývojového tunelu
devtunnel delete-all Odstranění všech vývojových tunelů

Tady je několik příkladů použití těchto příkazů:

Příklady Popis
devtunnel create -a Vytvořte trvalý vývojový tunel, který umožňuje anonymní přístup.
devtunnel create -d 'my tunnel description' Vytvořte trvalý vývojový tunel s nehledatelným popisem.
devtunnel create --expiration 4h Vytvořte trvalý vývojový tunel s vlastním časem vypršení platnosti. Minimum je 1 hodina (1h) a maximum je 30 dnů (30d).
devtunnel create myTunnelID Vytvořte trvalý vývojový tunel s vlastním ID tunelu.
devtunnel create --tags my-web-app v1 Vytvořte trvalý vývojový tunel a použijte prohledávatelné značky.
devtunnel list --tags my-web-app Zobrazte seznam vývojových tunelů, které mají některou ze zadaných značek.
devtunnel list --all-tags my-web-app v1 Zobrazte seznam vývojových tunelů se všemi zadanými značkami.
devtunnel show Zobrazí podrobnosti o naposledy použitém vývojovém tunelu.
devtunnel show TUNNELID Zobrazení podrobností o vývojovém tunelu
devtunnel update TUNNELID -d 'my new tunnel description' Aktualizujte popis vývojového tunelu.
devtunnel update TUNNELID --remove-tags Odeberte všechny značky z vývojového tunelu.
devtunnel update TUNNELID --expiration 10d Aktualizujte vývojový tunel novým vlastním časem vypršení platnosti. Minimum je 1 hodina (1h) a maximum je 30 dnů (30d).
devtunnel delete TUNNELID Odstranění vývojového tunelu
devtunnel delete-all Odstraňte všechny vývojové tunely.

Tip

Většina příkazů rozhraní příkazového řádku pracuje s posledním použitým vývojovým tunelem implicitně, ale v případě potřeby existuje možnost zadat ID vývojového tunelu.

Upřesnit: Správa portů vývojového tunelu

Vývojový tunel vytvořený pomocí devtunnel create příkazu zpočátku nemá žádné porty. Před hostování použijte devtunnel port příkazy pro přidání portů:

Příkaz Popis
devtunnel port create Vytvoření portu vývojového tunelu
devtunnel port list Výpis portů vývojového tunelu
devtunnel port show Zobrazení podrobností o portu vývojového tunelu
devtunnel port update Aktualizace vlastností portů vývojového tunelu
devtunnel port delete Odstranění portu vývojového tunelu
Příklady Popis
devtunnel port create -p 3000 --protocol http Přidání portu se zadaným protokolem
devtunnel port list TUNNELID Výpis aktuálních portů
devtunnel port show TUNNELID -p 3000 Zobrazení podrobností o portu 3000
devtunnel port update -p 3000 --description 'frontend port' Aktualizace popisu portu vývojového tunelu
devtunnel port delete -p 3000 Odstranění portu

Při vytváření portu může být protokol volitelně zadán, pokud automatické zjišťování nefunguje správně. Aktuální možnosti jsou http, https nebo auto (výchozí). Pokud je hostovaný port HTTPS, doporučuje se nastavit protokol portu na https; jinak "auto" je pravděpodobně v pořádku.

Po konfiguraci vývojového tunelu pomocí výše uvedených příkazů ho začněte hostovat:

devtunnel host

Upřesnit: Správa přístupu k vývojovému tunelu

Pomocí následujících příkazů je možné vystavit přístupové tokeny vývojového tunelu, které ostatním klientům poskytují přístup k vývojovému tunelu bez povolení anonymního přístupu. Příkazy pro zadávání řízení přístupu umožňují konfigurovat řízení přístupu na vývojových tunelech a portech vývojového tunelu.

Příkaz Popis
devtunnel token Vydání přístupového tokenu vývojového tunelu
devtunnel access create Vytvoření položky řízení přístupu
devtunnel access list Výpis položek řízení přístupu
devtunnel access delete Odstranění položky řízení přístupu
devtunnel access reset Obnovit výchozí položky řízení přístupu

Tady je několik příkladů použití těchto příkazů:

Příklady Popis
devtunnel token TUNNELID --scopes connect Získejte přístupový token connect pro vývojový tunel, který se dá sdílet, aby byl dočasně přístup k vývojovému tunelu.
devtunnel access create TUNNELID --anonymous Povolte anonymní klientský přístup na vývojovém tunelu.
devtunnel access create TUNNELID --anonymous --expiration 4h Povolte anonymní klientský přístup v vývojovém tunelu s vlastním časem vypršení platnosti řízení přístupu. Minimum je 1 hodina (1h) a maximum je 30 dnů (30d).
devtunnel access create TUNNELID --port 3000 --anonymous Povolte anonymní klientský přístup na portu 3000.
devtunnel access create TUNNELID --tenant Povolte aktuální přístup tenanta Microsoft Entra na vývojovém tunelu.
devtunnel access create TUNNELID --org ORG Povolte přístup k organizaci GitHubu podle názvu v vývojovém tunelu.

Tip

Přístup organizace GitHubu vyžaduje instalaci aplikace Dev Tunnels GitHub do organizace.

Doplňkové příkazy

Tyto příkazy můžete použít, pokud potřebujete explicitně nastavit nebo zrušit nastavení této místní mezipaměti posledního použitého vývojového tunelu.

Příkaz Popis
devtunnel set Nastavení výchozího vývojového tunelu
devtunnel unset Vymazání výchozího vývojového tunelu

Diagnostické příkazy

Příkaz Popis
devtunnel clusters Výpis dostupných clusterů služeb podle umístění
devtunnel echo Spuštění serveru s diagnostickou odezvou na místním portu
devtunnel ping Odesílání diagnostických zpráv na vzdálený server echo
Příklady Popis
devtunnel clusters --ping Výpis dostupných clusterů služeb seřazených podle měřené latence
devtunnel echo http --port 8080 --interface 127.0.0.1 Spusťte místní diagnostický server HTTP na portu 8080.

Řešení problému

Při řešení potíží s rozhraním příkazového devtunnel řádku můžou být užitečné následující tipy:

  • Ujistěte se, že používáte nejnovější verzi rozhraní příkazového devtunnel řádku. Zkontrolujte aktuálně nainstalovanou verzi pomocí devtunnel --versionnástroje .
  • Možnost --verbose vytiskne zprávy ladění, které můžou poskytovat další diagnostické informace.