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
RepositoryCompareLink (string) = "https://gitlab.com/sucos/sucos/-/compare/"
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)