Informationen zu privaten Registrierungen
Durch Dependabot version updates werden deine Abhängigkeiten aktuell gehalten, und Abhängigkeiten mit Sicherheitsrisiken werden durch Dependabot security updates aktualisiert. Dependabot kann auf öffentliche Registrierungen zugreifen. Darüber hinaus kannst du Dependabot den Zugriff auf private Paketregistrierungen und private GitHub-Repositorys gewähren, damit du deine privaten und quellinternen Registrierungen so aktuell und sicher wie deine öffentlichen Abhängigkeiten halten kannst.
In den meisten Ökosystemen werden private Abhängigkeiten in der Regel in privaten Paketregistrierungen veröffentlicht. Diese privaten Registrierungen ähneln ihren öffentlichen Entsprechungen, erfordern jedoch eine Authentifizierung.
Bei bestimmten Ökosystemen können Sie Dependabot so konfigurieren, dass nur auf private Registrierungen zugegriffen wird. Dazu entfernen Sie Aufrufe von öffentlichen Registrierungen. Weitere Informationen finden Sie unter Entfernen des Dependabot-Zugriffs auf öffentliche Registrierungen.
Um Dependabot Zugriff auf Registrierungen zu ermöglichen, die privat gehostet werden oder auf interne Netzwerke beschränkt sind, konfiguriere Dependabot so, dass es auf GitHub Actions selbst gehosteten Runnern läuft. Weitere Informationen findest du unter Verwalten von Dependabot auf selbst gehosteten Runnern.
Konfigurieren privater Registrierungen
Du konfigurierst den Zugriff von Dependabot auf private Registrierungen in der Datei dependabot.yml
.
Der registries
-Schlüssel der obersten Ebene ist optional und gibt Authentifizierungsdetails an.
Es gibt zwei Speicherorte in der dependabot.yml
-Datei, an denen du den registries
-Schlüssel verwenden kannst:
- Auf der obersten Ebene, in der du die Registrierungen und deren Zugriffsinformationen bei Bedarf definierst.
- Innerhalb der
updates
-Blöcke, in denen du Dependabot anweisenregistries: "*"
kannst, eine oder alle Registrierungen zu verwenden, die du auf oberster Ebene definiert hast.
# registries: gradle-artifactory - provides access details for the gradle-artifactory registry
# registries: "*" - allows Dependabot to use all the defined registries specified at the top level
version: 2
registries:
gradle-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-gradle-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
updates:
- package-ecosystem: "gradle"
directory: "/"
registries: "*"
schedule:
interval: "monthly"
Du verwendest die folgenden Optionen, um Zugriffseinstellungen anzugeben. Registrierungseinstellungen müssen einen type
und eine url
enthalten, sowie in der Regel eine Kombination aus username
und password
oder ein token
.
Parameter | Zweck |
---|---|
REGISTRY_NAME | Erforderlich: Definiert einen Bezeichner für die Registrierung. |
type | Erforderlich: Identifiziert den Typ der Registrierung. |
Authentifizierungsdetails | Erforderlich: Die Parameter, die für die Bereitstellung von Authentifizierungsdetails unterstützt werden, variieren für Registrierungen unterschiedlicher Typen. |
url | Erforderlich Die URL, die für den Zugriff auf die Abhängigkeiten in dieser Registrierung verwendet werden soll. Das Protokoll ist optional. Falls nicht angegeben, https:// wird angenommen. Nachstehende Schrägstriche werden von Dependabot nach Bedarf hinzugefügt oder ignoriert. |
replaces-base | Wenn der boolesche Wert true lautet, löst Dependabot Abhängigkeiten mithilfe der angegebenen url anstelle der Basis-URL dieses Ökosystems auf. |
Weitere Informationen zu den verfügbaren Konfigurationsoptionen und den unterstützten Typen findest du unter Referenz zu Dependabot-Optionen.
Speichern von Anmeldeinformationen für die Verwendung durch Dependabot
Um Dependabot den Zugriff auf die von GitHub unterstützten privaten Registrierungen zu gewähren, speicherst du das Zugriffstoken oder Geheimnis der Registrierung im Geheimnisspeicher für dein Repository oder deine Organisation.
Informationen zu verschlüsselten Geheimnissen für Dependabot
Bei Dependabot-Schlüsseln handelt es sich um verschlüsselte Anmeldeinformationen, die du entweder auf Organisationsebene oder auf Repositoryebene erstellst. Wenn du auf Organisationsebene ein Geheimnis hinzufügst, kannst du angeben, welche Repositorys darauf zugreifen kannst. Du kannst Geheimnisse verwenden, um Dependabot zu erlauben, Abhängigkeiten in privaten Paketregistrierungen zu aktualisieren. Wenn du ein Geheimnis hinzufügst, wird es verschlüsselt, bevor es GitHub erreicht. Daraufhin bleibt es verschlüsselt, bis es von Dependabot für den Zugriff auf eine private Paketregistrierung verwendet wird.
Dependabot-Geheimnisse umfassen auch Geheimnisse, die von den durch Dependabot-Pull-Requests ausgelösten GitHub Actions-Workflows verwendet werden. Dependabot selbst verwendet diese Geheimnisse möglicherweise nicht, aber die Workflows erfordern sie. Weitere Informationen finden Sie unter Problembehandlung von Dependabot auf GitHub-Aktionen.
Nachdem du ein Dependabot-Geheimnis hinzugefügt hast, kannst du darauf wie folgt in der Konfigurationsdatei dependabot.yml
verweisen: ${{secrets.NAME}}
, wobei „NAME“ der Name ist, den du für das Geheimnis ausgewählt hast. Beispiel:
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
Benennen deiner Geheimnisse
Der Name eines Dependabot-Geheimnisses:
- darf nur alphanumerische Zeichen (
[A-Z]
,[0-9]
) oder Unterstriche (_
) enthalten. Leerzeichen sind nicht zulässig. Wenn du Kleinbuchstaben eingibst, werden diese in Großbuchstaben geändert. - darf nicht mit dem
GITHUB_
-Präfix beginnen. - darf nicht mit einer Zahl beginnen.
Hinzufügen eines Repositorygeheimnisses für Dependabot
Um Geheimnisse für das Repository eines persönlichen Kontos zu erstellen, musst Du der Besitzer des Repositorys sein. Um Geheimnisse für ein Organisationsrepository zu erstellen, musst du über admin
-Zugriff verfügen.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Wähle im Abschnitt „Sicherheit“ der Seitenleiste Geheimnisse und Variable, und klicke dann Dependabot.
-
Klicke auf Neues Repositorygeheimnis.
-
Gib einen Namen für dein Geheimnis in das Eingabefeld Name ein.
-
Gib den Wert für das Geheimnis ein.
-
Klicke auf Geheimnis hinzufügen.
Der Name des Geheimnisses wird auf der Geheimnisseite von Dependabot aufgeführt. Du kannst auf Aktualisieren klicken, um den Wert des Geheimnisses zu ändern. Du kannst auf Entfernen klicken, um das Geheimnis zu löschen.
Hinzufügen eines Organisationsgeheimnisses für Dependabot
Beim Erstellen eines Geheimnisses in einer Organisation kannst du eine Richtlinie verwenden, um einzuschränken, welche Repositorys darauf zugreifen können. Du kannst beispielsweise allen Repositorys Zugriff gewähren oder nur private Repositorys oder eine angegebene Liste von Repositorys zulassen.
Für das Erstellen von Geheimnissen auf Organisationsebene benötigst du admin
-Zugriff.
-
Navigieren Sie auf GitHub zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Wähle im Abschnitt „Sicherheit“ der Seitenleiste Geheimnisse und Variable, und klicke dann Dependabot. Ignoriere die Option „Private Registries“, da diese nur vom Standardsetup von code scanning verwendet wird.
-
Klicke auf Neues Organisationsgeheimnis.
-
Gib einen Namen für dein Geheimnis in das Eingabefeld Name ein.
-
Gib den Wert für das Geheimnis ein.
-
Wähle in der Dropdownliste Repositoryzugriff eine Zugriffsrichtlinie aus.
-
Wenn du Ausgewählte Repositorys ausgewählt hast:
- Klicke auf .
- Wähle im Dialogfeld die Repositorys aus, die auf dieses Geheimnis zugreifen können.
- Klicke auf Auswahl aktualisieren.
-
Klicke auf Geheimnis hinzufügen.
Der Name des Geheimnisses wird auf der Dependabot-Geheimnisseite angezeigt. Du kannst auf Aktualisieren klicken, um den Geheimniswert oder die Zugriffsrichtlinie zu ändern. Du kannst auf Entfernen klicken, um das Geheimnis zu löschen.
Konfigurieren von IP-Firewallregeln
Du kannst Dependabot-bezogene IP-Adressen zu deiner IP-Registrierungszulassungsliste hinzufügen.
Wenn deine private Registrierung mit einer IP-Zulassungsliste konfiguriert ist, findest du die IP-Adressen, die von Dependabot zum Zugreifen auf die Registrierung im Meta-API-Endpunkt verwendet werden, unter dem dependabot
-Schlüssel. Wenn du Dependabot über GitHub Actions selbst gehostete Runner ausführst, solltest du stattdessen die IP-Adressen unter dem Schlüssel actions
verwenden. Weitere Informationen findest du unter REST-API-Endpunkte für Metadaten und Informationen zu Dependabot über GitHub Actions-Runner.
Zulassen der Ausführung externen Codes
Wenn du Dependabot Zugriff auf eine oder mehrere Registrierungen gewährst, wird die Ausführung externen Codes automatisch deaktiviert, um deinen Code vor kompromittierten Paketen zu schützen. Bei einigen Versionsupdates können jedoch Fehler auftreten.
Wenn du Dependabot Zugriff auf eine private Paketregistrierung gewähren und die eingeschränkte Ausführung externen Codes aktivieren musst, kannst du insecure-external-code-execution
auf allow
festlegen. Jede Ausführung externen Codes hat nur Zugriff auf die Paket-Manager in den Registrierungsstellen, die der eingeschlossenen updates
-Einstellung zugeordnet sind. Es ist kein Zugriff auf die Registrierungen zulässig, die in der registries
-Konfiguration der obersten Ebene definiert sind.
In diesem Beispiel ermöglicht die Konfigurationsdatei Dependabot den Zugriff auf die private Paketregistrierung ruby-github
. In derselben updates
-Einstellung ist insecure-external-code-execution
auf allow
festgelegt. Dies bedeutet, dass der von Abhängigkeiten ausgeführte Code nur auf die ruby-github
-Registrierung und nicht auf die dockerhub
-Registrierung zugreift.
# Allow external code execution when updating dependencies from private registries version: 2 registries: ruby-github: type: rubygems-server url: https://rubygems.pkg.github.com/octocat/github_api token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}} updates: - package-ecosystem: "bundler" directory: "/rubygems-server" insecure-external-code-execution: allow registries: "*" schedule: interval: "monthly"
# Allow external code execution when updating dependencies from private registries
version: 2
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
updates:
- package-ecosystem: "bundler"
directory: "/rubygems-server"
insecure-external-code-execution: allow
registries: "*"
schedule:
interval: "monthly"
Unterstützte private Registrierungen
Hier findest du Beispiele zum Konfigurieren des Zugriffs auf die privaten Registrierungen, die von Dependabot unterstützt werden.
cargo-registry
composer-repository
docker-registry
git
hex-organization
hex-repository
maven-repository
npm-registry
nuget-feed
pub-repository
python-index
rubygems-server
terraform-registry
cargo-registry
Vom Typ cargo-registry
wird ein Token unterstützt.
Dieser Registrierungstyp gleicht den in der Option url
angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url
wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries:
cargo-example:
type: cargo-registry
registry: "name-of-your-registry"
url: https://cargo.cloudsmith.io/foobaruser/test/
token: "Token ${{secrets.CARGO_TOKEN}}"
Wir haben diese Konfiguration mit der privaten Registrierung bei https://cargo.cloudsmith.io
getestet.
composer-repository
Vom Typ composer-repository
werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url
angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url
wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries: composer: type: composer-repository url: https://repo.packagist.com/example-company/ username: octocat password: ${{secrets.MY_PACKAGIST_PASSWORD}}
registries:
composer:
type: composer-repository
url: https://repo.packagist.com/example-company/
username: octocat
password: ${{secrets.MY_PACKAGIST_PASSWORD}}
docker-registry
Dependabot funktioniert mit allen Containerregistrierungen, die die OCI-Containerregistrierungsspezifikation implementieren. Weitere Informationen findest du unter https://github.com/opencontainers/distribution-spec/blob/main/spec.md. Dependabot unterstützt die Authentifizierung bei privaten Registrierungen über einen zentralen Tokendienst oder die HTTP-Standardauthentifizierung. Weitere Informationen findest du unter Tokenauthentifizierungsspezifikation in der Docker-Dokumentation und unter Standardauthentifizierung in Wikipedia.
Vom Typ docker-registry
werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url
angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url
wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries: dockerhub: type: docker-registry url: https://registry.hub.docker.com username: octocat password: ${{secrets.MY_DOCKERHUB_PASSWORD}} replaces-base: true
registries:
dockerhub:
type: docker-registry
url: https://registry.hub.docker.com
username: octocat
password: ${{secrets.MY_DOCKERHUB_PASSWORD}}
replaces-base: true
Der Typ docker-registry
kann auch zum Pullen aus einer privaten Amazon ECR-Instanz mithilfe statischer AWS-Anmeldeinformationen verwendet werden.
registries: ecr-docker: type: docker-registry url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}} password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}} replaces-base: true
registries:
ecr-docker:
type: docker-registry
url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}}
password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}}
replaces-base: true
git
Vom Typ git
werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
registries: github-octocat: type: git url: https://github.com username: x-access-token password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
registries:
github-octocat:
type: git
url: https://github.com
username: x-access-token
password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
hex-organization
Vom Typ hex-organization
werden Organisation und Schlüssel unterstützt.
Dieser Registrierungstyp gleicht den in der Option url
angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url
wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries: github-hex-org: type: hex-organization organization: github key: ${{secrets.MY_HEX_ORGANIZATION_KEY}}
registries:
github-hex-org:
type: hex-organization
organization: github
key: ${{secrets.MY_HEX_ORGANIZATION_KEY}}
hex-repository
Der Typ hex-repository
unterstützt einen Authentifizierungsschlüssel.
repo
ist ein Pflichtfeld, das mit dem Namen des Repositorys übereinstimmen muss, der in der Abhängigkeitsdeklaration verwendet wird.
public-key-fingerprint
ist ein optionales Konfigurationsfeld, das den Fingerabdruck des öffentlichen Schlüssels für das Hex-Repository darstellt. public-key-fingerprint
wird von Hex verwendet, um eine Vertrauensstellung mit dem privaten Repository herzustellen. Das Feld public-key-fingerprint
kann entweder als Klartext aufgeführt oder als Dependabot-Geheimnis gespeichert werden.
registries: github-hex-repository: type: hex-repository repo: private-repo url: https://private-repo.example.com auth-key: ${{secrets.MY_AUTH_KEY}} public-key-fingerprint: ${{secrets.MY_PUBLIC_KEY_FINGERPRINT}}
registries:
github-hex-repository:
type: hex-repository
repo: private-repo
url: https://private-repo.example.com
auth-key: ${{secrets.MY_AUTH_KEY}}
public-key-fingerprint: ${{secrets.MY_PUBLIC_KEY_FINGERPRINT}}
maven-repository
Vom Typ maven-repository
werden Benutzername und Kennwort unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url
angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url
wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries: maven-artifactory: type: maven-repository url: https://acme.jfrog.io/artifactory/my-maven-registry username: octocat password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
registries:
maven-artifactory:
type: maven-repository
url: https://acme.jfrog.io/artifactory/my-maven-registry
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
npm-registry
Vom Typ npm-registry
werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Wenn du Benutzername und Kennwort verwendest, kann das Authentifizierungstoken von .npmrc
ein base64
-codiertes _password
enthalten. Das Kennwort, auf das in der Dependabot-Konfigurationsdatei verwiesen wird, muss jedoch das ursprüngliche (nicht codierte) Kennwort sein.
Note
Schließe keinen Pfad ein, wenn du npm.pkg.github.com
verwendest. Verwende stattdessen die https://npm.pkg.github.com
-URL ohne Pfad.
registries: npm-npmjs: type: npm-registry url: https://registry.npmjs.org username: octocat password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password replaces-base: true
registries:
npm-npmjs:
type: npm-registry
url: https://registry.npmjs.org
username: octocat
password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password
replaces-base: true
registries: npm-github: type: npm-registry url: https://npm.pkg.github.com token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}} replaces-base: true
registries:
npm-github:
type: npm-registry
url: https://npm.pkg.github.com
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
Aus Sicherheitsgründen legt Dependabot keine Umgebungsvariablen fest. Yarn (v2 und höher) erfordert, dass alle Umgebungsvariablen festgelegt sind, auf die zugegriffen wird. Wenn du in deiner .yarnrc.yml
-Datei auf Umgebungsvariablen zugreifst, solltest du einen Fallbackwert wie ${ENV_VAR-fallback}
or ${ENV_VAR:-fallback}
angeben. Weitere Informationen findest du unter Yarnrc-Dateien in der Yarn-Dokumentation.
nuget-feed
Vom Typ nuget-feed
werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
registries: nuget-example: type: nuget-feed url: https://nuget.example.com/v3/index.json username: octocat@example.com password: ${{secrets.MY_NUGET_PASSWORD}}
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_NUGET_PASSWORD}}
registries: nuget-azure-devops: type: nuget-feed url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json username: octocat@example.com password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
registries:
nuget-azure-devops:
type: nuget-feed
url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
pub-repository
Vom Typ pub-repository
wird eine URL und ein Token unterstützt.
registries: my-pub-registry: type: pub-repository url: https://example-private-pub-repo.dev/optional-path token: ${{secrets.MY_PUB_TOKEN}} updates: - package-ecosystem: "pub" directory: "/" schedule: interval: "weekly" registries: - my-pub-registry
registries:
my-pub-registry:
type: pub-repository
url: https://example-private-pub-repo.dev/optional-path
token: ${{secrets.MY_PUB_TOKEN}}
updates:
- package-ecosystem: "pub"
directory: "/"
schedule:
interval: "weekly"
registries:
- my-pub-registry
python-index
Vom Typ python-index
werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url
angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url
wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries: python-example: type: python-index url: https://example.com/_packaging/my-feed/pypi/example username: octocat password: ${{secrets.MY_BASIC_AUTH_PASSWORD}} replaces-base: true
registries:
python-example:
type: python-index
url: https://example.com/_packaging/my-feed/pypi/example
username: octocat
password: ${{secrets.MY_BASIC_AUTH_PASSWORD}}
replaces-base: true
registries: python-azure: type: python-index url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example username: octocat@example.com password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}} replaces-base: true
registries:
python-azure:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
replaces-base: true
rubygems-server
Vom Typ rubygems-server
werden Benutzername und Kennwort oder Token unterstützt. Wenn das Konto ein GitHub-Konto ist, kannst du anstelle des Kennworts ein GitHub personal access token verwenden.
Dieser Registrierungstyp gleicht den in der Option url
angegebenen Pfad mit dem Präfix ab. Dies bedeutet, dass Sie für einen Host mehrere Anmeldeinformationen bereitstellen können, die dann für den Zugriff auf unterschiedliche Pfade verwendet werden können. Wenn Sie jedoch nicht über mehrere Registrierungen auf demselben Host verfügen, empfehlen wir, den Pfad aus url
wegzulassen, damit die Anmeldeinformationen für alle Pfade zur Registrierung gelten.
registries: ruby-example: type: rubygems-server url: https://rubygems.example.com username: octocat@example.com password: ${{secrets.MY_RUBYGEMS_PASSWORD}} replaces-base: true
registries:
ruby-example:
type: rubygems-server
url: https://rubygems.example.com
username: octocat@example.com
password: ${{secrets.MY_RUBYGEMS_PASSWORD}}
replaces-base: true
registries: ruby-github: type: rubygems-server url: https://rubygems.pkg.github.com/octocat/github_api token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}} replaces-base: true
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
terraform-registry
Vom Typ terraform-registry
wird ein Token unterstützt.
registries: terraform-example: type: terraform-registry url: https://terraform.example.com token: ${{secrets.MY_TERRAFORM_API_TOKEN}}
registries:
terraform-example:
type: terraform-registry
url: https://terraform.example.com
token: ${{secrets.MY_TERRAFORM_API_TOKEN}}