Übersicht
Wenn du einen Codespace erstellen, wird automatisch ein Docker-Container auf einem virtuellen Remotecomputer erstellt. Dieser Docker-Container wird aus einem Docker-Image erstellt. Das Image ist im Grunde eine Vorlage für Docker-Container und bestimmt viele Aspekte der vom Codespace bereitgestellten resultierenden Umgebung.
Du kannst auswählen, welches Image du für deine Codespaces verwenden möchtest, indem du es in der Entwicklungscontainerkonfiguration für ein Repository angibst. Dazu kannst du z. B. die Eigenschaft image
in der Datei devcontainer.json
verwenden.
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",
"image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:18",
Weitere Informationen findest du in der Entwicklungscontainerspezifikation auf der Development Containers-Website.
Wenn du kein Image in der Entwicklungscontainerkonfiguration für ein Repository angibst, wird das Standardimage verwendet. Das Standardimage enthält eine Reihe von Runtimeversionen für gängige Programmiersprachen und häufig verwendete Tools. Weitere Informationen findest du unter Einführung in Entwicklungscontainer.
Als Organisationsbesitzer*in kannst du eine Richtlinie hinzufügen, mit der eingeschränkt wird, welche Images für Codespaces verwendet werden können, die in deiner Organisation erstellt werden.
Wenn das in der Entwicklungscontainerkonfiguration angegebene Image nicht mit einem der zulässigen Images übereinstimmt, wird die folgende Meldung angezeigt, wenn versucht wird, einen Codespace für das Repository zu erstellen:
Codespace konnte nicht erstellt werden: Das Basisimage „DETAILS FROM DEV CONTAINER CONFIGURATION“ ist basierend auf einer vom Organisationseigentümer festgelegten Organisationsrichtlinie nicht zulässig.
Hinweise:
- Die Basisimagerichtlinie wird nur angewendet, wenn ein Codespace erstellt wird. Aktuell wird sie nicht angewendet, wenn ein Container neu erstellt wird. Dies wird in einem zukünftigen Release geändert. Weitere Informationen findest du unter Grundlegendes zum Codespacelebenszyklus.
- Die Basisimagerichtlinie gilt nicht für das Standardimage oder das Image, das zum Wiederherstellen eines Codespaces verwendet wird, wenn ein Fehler in einer Entwicklungscontainerkonfiguration auftritt, der verhindert, dass der Container neu erstellt wird.
Festlegen von organisationsweiten und repositoryspezifischen Richtlinien
Wenn du eine Richtlinie erstellst, wählst du aus, ob sie für alle Repositorys in deiner Organisation oder nur für angegebene gilt. Wenn du eine organisationsweite Richtlinie festlegst, müssen alle Richtlinien, die du für einzelne Repositorys festlegst, mit der auf Organisationsebene festgelegten Einschränkung übereinstimmen. Durch das Hinzufügen von Richtlinien wird die Wahl des Images nicht weniger, sondern stärker eingeschränkt.
Du kannst beispielsweise eine organisationsweite Richtlinie erstellen, die das Basisimage auf eines von zehn angegebenen Images beschränkt. Du kannst dann eine Richtlinie für Repository A festlegen, die das Image auf eine Teilmenge von nur zwei der auf Organisationsebene angegebenen Images beschränkt. Das Angeben zusätzlicher Images für Repository A hat keine Auswirkungen, da diese Images nicht in der Richtlinie auf Organisationsebene angegeben sind. Wenn du eine organisationsweite Richtlinie hinzufügst, solltest du sie auf die größte Auswahl von Images festlegen, die für ein Repository in deiner Organisation verfügbar ist. Du kannst dann repositoryspezifische Richtlinien hinzufügen, um die Auswahl weiter einzuschränken.
Hinweis: Richtlinien für Codespaces gelten nur für Codespaces, die Ihrer Organisation in Rechnung gestellt werden. Wenn ein einzelner Benutzer einen Codespace für ein Repository in Ihrer Organisation erstellt und dieser Codespace nicht unter die Abrechnung für Ihre Organisation fällt, ist er nicht an diese Richtlinien gebunden. Weitere Informationen findest du unter „Auswählen der Besitzerinnen und Zahlerinnen von Codespaces in deiner Organisation.“
Hinzufügen einer Richtlinie zum Definieren der zulässigen Images
-
Wähle in der oberen rechten Ecke von GitHub.com dein Profilfoto aus. Klicke dann auf Deine Organisationen.
-
Klicke neben der Organisation auf Einstellungen.
-
Klicke auf der Seitenleiste im Abschnitt „Code, Planung und Automatisierung“ auf Codespaces und anschließend auf Richtlinien.
-
Klicken Sie auf der Seite „Richtlinen für Codespaces“ auf Richtlinie erstellen.
-
Gib einen Namen für die neue Richtlinie ein.
-
Klicke auf Einschränkung hinzufügen, und wähle Basisimages aus.
-
Klicke auf , um die Einschränkung zu bearbeiten.
-
Gib im Feld „Zulässige Werte“ die vollständige URL eines Images ein, das du zulassen möchtest.
Hinweis: Du musst eine Image-URL angeben, die genau mit dem in einer Entwicklungscontainerkonfiguration angegebenen Wert übereinstimmt.
-
Klicke auf , um den Wert hinzuzufügen.
-
Wiederhole bei Bedarf die vorherigen beiden Schritte, um weitere Image-URLs hinzuzufügen.
-
Klicke außerhalb des Dialogfelds, um es zu schließen.
-
Standardmäßig ist die Richtlinie so festgelegt, dass sie für alle Repositorys gilt. Wenn du möchtest, dass sie nur für einige Repositorys in deiner Organisation gilt, klicke auf Alle Repositorys und dann im Dropdownmenü auf Ausgewählte Repositorys.
Hinweis: Wenn du einer Richtlinie eine Einschränkung hinzufügst, die bereits die Einschränkung „Maximale Codespaces pro Benutzer“ enthält, kannst du die Richtlinie nicht auf ausgewählte Repositorys anwenden. Das liegt daran, dass die Einschränkung „Maximale Codespaces pro Benutzer“ immer für alle Repositorys in der Organisation gilt.
Gehe nach Auswahl von Ausgewählte Repositorys wie folgt vor:
-
Klicke auf .
-
Wähle die Repositorys aus, auf die diese Richtlinie angewendet werden soll.
-
Klicke unten in der Repositoryliste auf Repositorys auswählen.
-
-
Wenn du der Richtlinie eine weitere Einschränkung hinzufügen möchtest, klicke auf Einschränkung hinzufügen, und wähle eine andere Einschränkung aus. Informationen zu anderen Einschränkungen findest du hier:
- Einschränken des Zugriffs auf Computertypen
- Einschränken der Anzahl der für die Organisation in Rechnung gestellten Codespaces, die Benutzer*innen erstellen können
- Einschränken der Sichtbarkeit weitergeleiteter Ports
- Einschränken des Zeitraums für Leerlauftimeouts
- Einschränken des Aufbewahrungszeitraums für Codespaces
-
Nachdem du deiner Richtlinie Einschränkungen hinzugefügt hast, klicke auf Speichern.
Die Richtlinie wird angewendet, wenn versucht wird, einen neuen Codespace zu erstellen, der für deine Organisation abrechenbar ist. Die Basisimageeinschränkung wirkt sich nicht auf vorhandene, aktive oder beendete Codespaces aus.
Bearbeiten einer Richtlinie
Du kannst eine vorhandenen Richtlinie bearbeiten. Beispielsweise kannst du Einschränkungen einer Richtlinie hinzufügen oder daraus entfernen.
- Zeigen Sie die Seite „Richtlinien für Codespaces“ an. Weitere Informationen findest du unter Hinzufügen einer Richtlinie zum Definieren der zulässigen Images.
- Klicke auf den Namen der Richtlinie, die du bearbeiten möchtest.
- Klicke neben der Einschränkung „Basisimages“ auf .
- Füge Image-URLs hinzu oder entferne sie.
- Klicke auf Speichern.
Löschen einer Richtlinie
-
Zeigen Sie die Seite „Richtlinien für Codespaces“ an. Weitere Informationen findest du unter Hinzufügen einer Richtlinie zum Definieren der zulässigen Images.
-
Klicke rechts neben der Richtlinie, die du löschen möchtest, auf .