Thank you for your interest in becoming a CloudBase Framework community contributor!
You can choose the following ways to contribute:
- Contribute a technical article
- Contribute apply template
- Contribute code, submit Pull Request
- Response Bug,submit Issue
- Deliver technical speech at technical meeting
We will add you to[our list of contributors](https://github.com/Tencent/cloudbase-framework#contributors-)
Cloud Development CloudBase Framework is based on cloud development underlying resources and cloud development resource orchestration management, and it includes CLI tool layer, application framework layer, and CI/CD layer as a whole.
- The CLI layer is adapted to mainstream application frameworks, can be seamlessly integrated with one click, and provides functions such as development and one-click deployment
- The application framework layer provides SDKs and components for different languages and frameworks, while abstracting the underlying cloud resources
- The CI/CD layer can implement functions such as cloud deployment, code platform integration, grayscale release, and upgrade rollback
🚀 Indicates the function that has been implemented
Milestone | Status |
---|---|
The core functions of the framework support plug-in mechanism and adapt to Cloudbase CLI | 🚀 |
Develop Website plugin to support the deployment of front-end static projects | 🚀 |
Automatic detection of front-end frameworks (mainstream frameworks such as Vue/React) Use Website plugin | 🚀 |
Develop Nuxt plugin to support Nuxt SSR project | 🚀 |
Develop Function plugin to support automatic deployment functions | 🚀 |
Develop Node Api Plugin to support one-click deployment of Node applications | 🚀 |
Plug-in supports compiling into SAM description | 🚀 |
Automatically detect that major Node frameworks such as Express/ KOA use the Node API Plugin | 🚀 |
Cloud Development full stack framework support | |
Node Api Plugin supports modeling and code generation | |
Combine CI/CD functions of GitHub Action, Coding and other platforms | |
Support part of the back-end containerized construction, providing another option for service functional construction | 🚀 |
Develop SAM Plugin to support SAM extension plug-ins, and the framework can introduce third-party SAM extensions (such as CMS) | |
Develop Flutter Plugin to support one-click deployment of Flutter's Dart backend | 🚀 |
npm install
npm run dev:all
npm run link
# Use the native CloudBase Framework in the project
CLOUDBASE_FX_ENV=dev cloudbase framework deploy
The following script will deploy the templates supported by CloudBase CLI one by one
# Note that $SecretId $SecretKey $EnvId needs to be replaced with a real value
cloudbase login --apiKeyId $SecretId --apiKey $SecretKey
CLOUDBASE_FX_ENV=dev envId=$EnvId node scripts/local-e2e.js
Follow the Angular submission information specification proposed by Angular
Please use npm run commit
to submit the code, the submission format is as follows:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Each submission can include header, body and footer, and each submission must include header content
The information submitted each time does not exceed 100
characters
Detailed documentation:AngularJS Git Commit Message Conventions
The format of the header is specified as the submission type, scope (optional) and subject
The submission type is specified as one of the following:
build
:Modifications to the build system or external dependenciesci
:Modifications to CI configuration files or scriptsdocs
:Modifications to the documentfeat
:Add new featuresfix
:Fixbug
pref
:Code changes to improve performancerefactor
:Neither fixing bug nor feature adding code refactoringstyle
:Modifications that do not affect the meaning of the code, such as spaces, formatting, missing semicolons, etc.test
:Add actual tests or correct existing tests
The scope can be any content that specifies where to submit changes
The subject includes a concise description of this modification, with the following guidelines
- Use imperative, present tense: "change" is not "changed"
- Don't capitalize the first letter
- Don't add a period at the end
Similar to subject setting, use imperative and present tense
Should include the motivation for the modification and the comparison with the previous behavior
Incompatible modification refers to the modification of API
or environment variables that are incompatible with the previous version in this submission.
All incompatible modifications must be mentioned in the footer as a breaking change block, starting with BREAKING CHANGE:
, followed by a space or two newline characters. The rest of the information is the description of the modification, the reason for the modification, and the modification, annotation
BREAKING CHANGE: isolate scope bindings definition has changed and
the inject option for the directive controller injection was removed.
To migrate the code follow the example below:
Before:
...
...
After:
...
...
The removed `inject` wasn't generaly useful for directives so there should be no code using it.
If the purpose of this submission is to modify the issue
, you need to quote the issue
in the footer
Start with the keyword Closes
, such as
Closes #234
If you modify multiple bugs
, separate them with commas
Closes #123, #245, #992
When this submission includes a rollback (revert
) operation, then the header starts with "revert:"
, and at the same time add "This reverts commit hash"
to the body, where the value of hash
means before being rolled back's submission
revert:<type>(<scope>): <subject>
<BLANK LINE>
This reverts commit hash
<other-body>
<BLANK LINE>
<footer>