Skip to main content

Einschränken des Basisimages für Codespaces

Du kannst angeben, welche Basisimages für neue Codespaces verwendet werden können, die in deiner Organisation erstellt werden.

Wer kann dieses Feature verwenden?

To manage image constraints for an organization's codespaces, you must be an owner of the organization.

Organisationen mit GitHub Team- und GitHub Enterprise-Plänen können für die Nutzung von GitHub Codespaces durch Mitglieder und Projektmitarbeiter*innen bezahlen. Diese Organisationen können dann auf Einstellungen und Richtlinien zugreifen, die für die von der Organisation bezahlten Codespaces gelten. Weitere Informationen findest du unter Auswählen der Besitzerinnen und Zahlerinnen von Codespaces in deiner Organisation und unter GitHub-Pläne.

Ü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.

JSON
"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

  1. Wähle in der oberen rechten Ecke von GitHub.com dein Profilfoto aus. Klicke dann auf Deine Organisationen.

    Screenshot des Dropdownmenüs unter dem Profilbild von @octocat. „Deine Organisationen“ ist in dunklem Orange eingerahmt.

  2. Klicke neben der Organisation auf Einstellungen.

  3. Klicke auf der Seitenleiste im Abschnitt „Code, Planung und Automatisierung“ auf Codespaces und anschließend auf Richtlinien.

  4. Klicken Sie auf der Seite „Richtlinen für Codespaces“ auf Richtlinie erstellen.

  5. Gib einen Namen für die neue Richtlinie ein.

  6. Klicke auf Einschränkung hinzufügen, und wähle Basisimages aus.

  7. Klicke auf , um die Einschränkung zu bearbeiten.

  8. Gib im Feld „Zulässige Werte“ die vollständige URL eines Images ein, das du zulassen möchtest.

    Screenshot der URL mcr.microsoft.com/vscode/devcontainers/java, die im Feld „Zulässige Werte“ eingegeben wurde.

    Hinweis: Du musst eine Image-URL angeben, die genau mit dem in einer Entwicklungscontainerkonfiguration angegebenen Wert übereinstimmt.

  9. Klicke auf , um den Wert hinzuzufügen.

  10. Wiederhole bei Bedarf die vorherigen beiden Schritte, um weitere Image-URLs hinzuzufügen.

  11. Klicke außerhalb des Dialogfelds, um es zu schließen.

  12. 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.

    Screenshot des Dropdownmenüs zur Repositoryauswahl mit ausgewählten Optionen „Alle Repositorys“ und „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:

    1. Klicke auf .

      Screenshot des Einstellungssymbols (Zahnradsymbol) links neben einer Schaltfläche mit der Bezeichnung „Ausgewählte Repositorys“.

    2. Wähle die Repositorys aus, auf die diese Richtlinie angewendet werden soll.

    3. Klicke unten in der Repositoryliste auf Repositorys auswählen.

      Screenshot einer Liste von Repositorys, jedes mit einem Kontrollkästchen. Drei Repositorys sind ausgewählt.

  13. 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:

  14. 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.

  1. Zeigen Sie die Seite „Richtlinien für Codespaces“ an. Weitere Informationen findest du unter Hinzufügen einer Richtlinie zum Definieren der zulässigen Images.
  2. Klicke auf den Namen der Richtlinie, die du bearbeiten möchtest.
  3. Klicke neben der Einschränkung „Basisimages“ auf .
  4. Füge Image-URLs hinzu oder entferne sie.
  5. Klicke auf Speichern.

Löschen einer Richtlinie

  1. Zeigen Sie die Seite „Richtlinien für Codespaces“ an. Weitere Informationen findest du unter Hinzufügen einer Richtlinie zum Definieren der zulässigen Images.

  2. Klicke rechts neben der Richtlinie, die du löschen möchtest, auf .

    Screenshot einer Richtlinie mit dunkelorange umrandeter Schaltfläche „Löschen“ (Papierkorbsymbol).