-
Notifications
You must be signed in to change notification settings - Fork 1
Turbo-360 Deployment Support #305
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
base: dev-next
Are you sure you want to change the base?
Conversation
Remaining steps:
|
Sri Update February - It looks fine to me, though I want to make some changes to the working directories it uses, and also evaluate the naming of scripts that the package scripts invoke turbo. I'll make these changes and submit them. |
Abbreviated Test Instructions
Technical Notes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issues noted about the PR description
- The first step "prepare the net.create codebase..." is pretty ambiguous. I think it is just saying "make sure NetCreate is functioning properly" rather than implying some specific step out of the giant README. I had to read the build script to determine what it actually meant me to do.
- Review the README-Turbo360.md...there is no such file in the repo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to change the dist
directory name to dist_turbo360
to make it clear that it's specifically for turbo360. That's because our codebase should be platform agnostic and unambigious.
dist
is a convention used for node package.json mainfiles entries- we'd probably want to support other build targets
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the code:
fs.moveSync('./dist/public/index.ejs', './dist/views/home.html');
fs.removeSync('./dist/public/index.html');
Is there a reason for doing this in code rather than have it be arranged this way by default in https://github.com/Vertex-Labs/base-template-netcreate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dsriseah It has been some time, so I don't recall the specific reasons, but I suspect it has is because content from the public
folder might be exposed directly as static content rather than rendered through the EJS rendering engine. The net.create template is based on a more generic Node/Express template so it adopts the same conventions for consistency (usage of the views
folder, the home
filename).
Adding some notes from this Slack conversation so that I can find this again and don't have to redo this check again. Much of this needs to be re-confirmed, but logging it for reference later. Two issues
The behavior of the T360 implementation had assumed that templates and database files were primarily being loaded and updated via the admin interface (More > Edit Templates and More > Import / Export). This needs to be reconciled with the behavior of the local app. The proper solution is to probably to rethink the overall interface. |
NOTE there are changes to
|
This pull requests adds support for Command Line Interface (CLI) deployment to Turbo 360.
Features
Two additional processes have been added to the build procedure for net.create.
Packaging for Turbo 360
NPM script:
npm run package-turbo360 [template]
This process will prepare a package suitable for deployment to Turbo 360 and local testing (using the Turbo 360 URSYS infrastructure).
This process relies on the existing standalone package capability to create suitable bundle for hosting. This bundle is incorporated with a Turbo 360 base template that has been customized for net.create separate repository to do the following:
Deployment to Turbo 360
NPM script:
npm run deploy-turbo360
This process will replace the code-base of an existing Turbo 360 project with a package created by the Turbo 360 packaging step.
Testing
Pre-requisites
README-Turbo360.md
document; these steps are paraphrased from this document.npx turbo login
Steps
README.md
and ensure it is working by usingnpm run dev
to test the local behavior when a local URSYS instance is usednpm run package-turbo360
. If you wish to use a template, append the template name to the end of the command, e.g.npm run package-turbo360 some-template
npm run deploy-turbo360
. You will be prompted to select a Turbo 360 Project to deploy to; select the project that was prepared during the Pre-requisites. This process will take several minutes.Technical Notes
The primary changes introduced by this PR comprise updates to the net.create build scripts to support Turbo 360 packaging and deployment and the introduction of additional URSYS configuration parameters to add an optional HTTPS requirement for the web socket, configure a preamble message, and disable native heartbeat support (for now).