Build

  • Namespace: SuCoS.NUKE
  • Source File: Build.Compile.cs, Build.Publish.cs, Build.GitLab.cs, Build.Changelog.cs, Build.Test.cs, Build.Version.cs, Build.Container.cs, Build.cs, Build.Solution.cs, Build.Publish.Debian.cs

This is the main build file for the project. This partial is responsible for the build process.

Fields

RuntimeIdentifier (string) = "linux-x64"

PublishDirectory (AbsolutePath)

PublishSelfContained (bool) = true

PublishSingleFile (bool) = true

PublishTrimmed (bool) = true

PublishReadyToRun (bool) = false

GitlabPrivateToken (string)

GitLabProjectId (long) = GitLab?.ProjectId ?? 0

ContainerRegistryImage (string)

ContainerDefaultRid (string) = "linux-x64"

ContainerRegistry (string): Registry host (example: registry.gitlab.com). When set, the image is pushed there by the SDK. Leave empty to only build a throwaway archive (see CreateContainer).

Properties

GitLabUploadPackage

(Target): Uploads the package to the GitLab generic package registry. One for each runtime identifier.

GitLabCreateRelease

(Target): Creates a release in the GitLab repository.

GitLabPushContainer

(Target): Push all images to the registry and register them as release links. The actual push is done by PublishContainer using the native .NET SDK container support (no Docker/Podman daemon required).

GitLabPushDebianPackage

(Target): Upload the Debian package to the GitLab generic package registry and attach it as a link to the release. The Debian package registry is not available on GitLab.com, so the .deb is published as a regular asset.

ChangelogFile

(string) { get; set } = "CHANGELOG.md"

TestReport

(Target)

CreateCommit

(Target)

PublishContainer

(Target): Publishes the container image directly to the configured registry.

CreateDebianPackage

(Target)