.NET pipelines — private NuGet feed
Commercial status: publish production packages only after Yanbor LLC authorizes the customer, product version, users, environments, and commercial terms. Do not publish proprietary packages to nuget.org.
1. Prepare the release
- Choose an authenticated NuGet service approved by Yanbor LLC and the customer, such as Azure Artifacts, GitHub Packages, Artifactory, Nexus, or a secured file-share feed.
- Create a production feed whose readers are limited to licensed customer identities. Keep evaluation and production packages in separate feeds or views.
- Obtain the two authorized
1.0.0packages and the production checksum manifest from the controlled release location. - Compare each package hash with
ARTIFACTS.sha256. Stop if a file is missing, renamed unexpectedly, or has a different hash. - Inspect package metadata with the customer or an isolated validation project. Confirm the package ID, immutable version, Yanbor LLC ownership, dependencies, embedded JARs, license link, documentation link, and supported runtime baseline.
- Create a release record containing customer, package IDs, versions, SHA-256 values, feed URL, approver, publication date, license/order reference, and rollback contact.
2. Publish both packages
- Open the feed provider's Connect to feed page and use its current NuGet v3 source URL.
- Create a short-lived publishing token or service identity with package-write permission only. Do not put the token in a script, repository, package, log, or customer document.
- Publish the runtime package first because the integration package depends on it. With the provider-specific source and API key syntax, run
dotnet nuget push Yanbor.DataAI.Etl.Spark.Runtime.1.0.0.nupkg --source <feed-url-or-name> --api-key <provider-required-value>. - Publish
Yanbor.DataAI.Etl.Spark.1.0.0.nupkgusing the same controlled source. - Open the feed UI and confirm that both exact IDs and version
1.0.0are visible. Do not overwrite or reuse an already published version; issue a new version for changed bytes. - Remove or expire the publishing credential after release if it is not needed for automation.
3. Grant and test customer access
- Grant the customer's approved group read/download permission. Avoid individual permanent tokens when group or workload identities are available.
- Give the customer the feed URL, approved package/version, license certificate or order reference, checksum values, credential setup method, production installation guide, and support contact through an authorized channel.
- In a clean test environment, add the feed with
dotnet nuget add source <feed-url> --name DataAI. Supply credentials using the provider's credential manager or approved secret store; do not place a clear-text password inNuGet.Config. - Restore with
dotnet add package Yanbor.DataAI.Etl.Spark --version 1.0.0 --source DataAI. - Verify that the runtime package is restored transitively, its DataAI JARs are copied as documented, and the clean project passes the packaged smoke test.
- Remove the test identity and record the test result. Send access instructions only to the licensed customer contacts.
4. Operate future releases
- Use a new semantic version for every changed package and keep previous authorized versions available during the agreed upgrade window.
- Revoke customer access when the commercial authorization ends; retain audit records according to Yanbor policy.
- Never use dependency-confusion-prone source ordering. Pin the DataAI source and package version in customer build policy.
- Repeat hash, clean-restore, runtime, and license validation for every release.