-
Notifications
You must be signed in to change notification settings - Fork 745
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Producing installation package without CI #2120
Comments
I will try creating a PoC set of cloned repositories to validate this idea and my proposed solution. |
I would personally like to see an xml or json manifest of all external components. This file should contain the name of the extension, the version, the url to the install zip, the url to the symbols, and the url to the source zip. I want to get away from always recompiling every extension regardless of any changes for each release. Then it would be pretty simple to download those packages and add them into the final platform install/upgrade/source zips. @dnnsoftware/tag |
@tpluscode's proposal would include a |
If it's just consuming an already published package, that's perfectly ok. It sounded like we'd be downloading the other components and compiling / publishing a new package to then bundle into the final installation zip. |
We just need to update documentation and then this is ready to go. |
I have assigned this to 9.4.0 milestone, I would really like to get the process of building locally documented, ping me up if any help is needed to do this. |
@ohine any news on the case sensitivity issues, ping me up if I can help anyway regarding this... |
Closing since merged |
Description
Here's the proposal I submitted on TAG Slack some time last month. It presents my idea on detaching the process of packaging Platform, Evoq or even custom installation bundles from the CI platform.
Current state
To build a package of DNN Platform it is required to build its source code and combine with artifacts produced by Persona Bar and some other repositories.
Until recently, this was done on TeamCity, which created a lock-in and its configuration promoted a pipeline which was hardly replicable on local developer machine.
Intended state
Entire build pipeline should be easily executable from the Dnn.Platform repository:
Getting there
Instead of relying on TeamCity or other 3rd party, which cannot be controlled directly (ie. exists only on CI infrastructure/software), I propose to employ NuGet packages.
Example pipeline
First, the module would be built and published
Now that module can be consumed by Platform build
Benefits
This has a number of positive effects on what is possible:
Tooling proposal
I mention NuGet, but not the official client. Instead, there is wonderful open source replacement called Paket. It has a number of advantages:
The text was updated successfully, but these errors were encountered: