Skip to content
ZongsoftPublic

About

This is a .NET tool for application deployment (file replication) that provides self-describing deployment capabilities for plug-in application development, and can also be used in scenarios such as file distribution.

Resources

Stars

4 stars

Watchers

3 watching

Forks

Repository files navigation

English | 简体中文


Overview

Provides a suite of tools to assist in development, including:

  • deployer

    Deployment Tool: Provides functions for application deployment and release, including file copying and package retrieval.

  • migrator

    Migration Tool: migration generation and native database/S3 execution.

  • packager

    Packaging Tool: Creates application installation package. (first use the deployment tool to prepare the content to be packaged)

  • containerizer

    Container Tool: Builds Linux node deliveries and a native lifecycle executor. Platform and image combinations remain subject to the documented acceptance gates.

  • regular

    Regular Expression Tool: A Windows GUI for matching expressions and inspecting matches, groups, and captures.

NuGet publishing

The manual Publish NuGet Packages workflow selects containerizer, deployer, migrator, packager or regular and runs only on main. Configure NUGET_USER in the release environment and a NuGet trusted publishing policy for this workflow; publishing obtains a temporary key after building.

Packager builds independently. Migrator builds Linux and Windows native artifacts in separate jobs, merges all three RIDs, then uses Cake compile to create the tool package. Containerizer builds Linux x64 and ARM64 executors in a dedicated Rocky Linux container job, downloads the artifacts and restores executable permissions, then uses Cake compile to create its tool package. Publishing requires the selected tool's native build jobs to succeed. Regular builds on a Windows runner and publishes its WinForms executable into a Windows x64 .NET tool package. Ordinary build/test does not publish native executors. See each tool README for local packaging; Cake pack pushes packages and is not for local testing.

Package versions

Directory.Packages.props centrally manages common dependencies: Zongsoft.Core, Zongsoft.CodeAnalysis and test packages. Each project declares its own references without versions for these packages. Specialized dependencies, such as deployer's NuGet SDK and the migrator executor's database drivers and AWS SDK, retain their versions in the owning project using VersionOverride. Shared language, author/company/copyright and NuGet metadata, tool package icons and the analyzer reference are defined in Directory.Build.props. Tool identities, versions, target frameworks, test settings and publishing modes stay in each project. Solutions and release workflows remain independent. AOT containers mount both root props files read-only at the container root.

Code style synchronization

All tools share the root .editorconfig. Directory.Build.props enables ZongsoftCodeStyleStrict=true for every C# build and sets ZongsoftGuidelinesSynchronization to the repository root. Git checks out C# sources with CRLF to match the editor configuration. During build preparation, Zongsoft.CodeAnalysis copies the template from the referenced NuGet package to that file; no separate synchronization command or GitHub access is required.

Synchronization overwrites the root file without merging local edits. The template is maintained in guidelines; Directory.Packages.props defines the shared analyzer version. Restore, clean, design-time builds and builds skipped by Visual Studio's up-to-date check do not synchronize; use Rebuild when necessary. AOT containers mount the root configuration read-only; the Linux publish script passes -p:ZongsoftGuidelinesSynchronization= to disable synchronization.

About

This is a .NET tool for application deployment (file replication) that provides self-describing deployment capabilities for plug-in application development, and can also be used in scenarios such as file distribution.

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages