Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server 2022
Azure Pipelines consente agli sviluppatori di pubblicare pacchetti Cargo in feed di Azure Artifacts e registri pubblici, ad esempio Crates.io. Questo articolo illustra come pubblicare i pacchetti Cargo in un feed di Azure Artifacts usando pipeline YAML e classiche.
Prerequisiti
Un'organizzazione Di Azure DevOps e un progetto. Crea un'organizzazione o un progetto , se non l'hai già fatto.
Feed di Azure Artifacts. Creare un feed se non ne è già disponibile uno.
Eseguire l'autenticazione con un feed
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Artefatti e quindi selezionare il feed.
Selezionare Connetti al feed e quindi selezionare Cargo nel riquadro sinistro.
Copia il frammento fornito dalla sezione di configurazione del Progetto e aggiungilo al file config.toml nel tuo repository sorgente. Il file dovrebbe apparire come questo:
Feed con ambito progetto:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Feed su scala organizzativa
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Creare un
token di accesso personale conPacchetti lettura & scrittura per l'autenticazione con il feed.
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Pipelinese quindi selezionare la definizione delle pipeline.
Selezionare Modificae quindi aggiungere il frammento di codice seguente alla pipeline YAML.
- task: CargoAuthenticate@0 displayName: 'Cargo Authenticate' inputs: configFile: '.cargo/config.toml' ## Path to the config.toml file that specifies the registries you want to work with. Select the file, not the folder e.g. "/.cargo/config.toml"
Pubblicare pacchetti in un feed
Accedere all'organizzazione di Azure DevOps e passare al progetto.
Selezionare Pipelinese quindi selezionare la definizione delle pipeline.
Selezionare Modificae quindi aggiungere il frammento di codice seguente alla pipeline YAML.
- powershell: | cargo publish --registry <FEED_NAME> ## Replace the placeholder with your feed name env: SYSTEM_ACCESSTOKEN: $(system.accesstoken)
Esempio
L'esempio seguente illustra come installare Rustup nell'agente, configurare la variabile di ambiente PATH, compilare il progetto, eseguire l'autenticazione con CargoAuthenticate e pubblicare in un feed di Azure Artifacts:
trigger:
- main
pool:
vmImage: windows-latest
steps:
- powershell: |
Invoke-WebRequest -Uri https://sh.rustup.rs -OutFile rustup-init.sh
bash .\rustup-init.sh -y
echo "##vso[task.prependpath]$env:USERPROFILE\.cargo\bin"
displayName: Install
- task: CargoAuthenticate@0
displayName: 'cargo Authenticate'
inputs:
configFile: '.cargo/config.toml'
- script: |
cargo build --all
displayName: Build
- powershell: |
cargo publish --registry CargoInternalFeed
displayName: Publish
Alla fine dell'esecuzione della pipeline, il pacchetto sarà disponibile nel feed, come mostrato di seguito: