Using CNB Plugin
With this section's guide, you can quickly integrate Cloud Native Build (CNB) into the process for automated build and deploy to EdgeOne Pages.
Configuring a Private Key
Retrieve EDGEONE_API_TOKEN from Pages. For the method for obtaining, see the referenced document API Token.
Use the CNB key repository for storage, then refer to it in the pipeline. The envs.yml content is as follows:
EDGEONE_API_TOKEN: oJTlMUq9**********NYzKFIw=
The complete .cnb.yml is configured as follows:
# trigger: push to master branchmain:push:# Import environment variables from private repository:# See: https://docs.cnb.cool/en/build/env.html#importing-environment-variables- imports: https://cnb.cool/***/-/blob/main/envs.ymlstages:# Build Current Project- name: Build Current Projectimage: node:20script: node -v && npm install && npm run build# Deploy build output to EdgeOne Pages# The ./dist directory is generated in the previous build step# See: https://www.npmjs.com/package/edgeone- name: Deploy to EdgeOne Pagesimage: node:20script: npx edgeone pages deploy <outputDirectory> -n <projectName> -t $EDGEONE_API_TOKEN
Note:
npx edgeone pages deploy
Parameter description:<outputDirectory>: The folder where the project build product is located (required)
-n, --name: Project name that needs to be deployed. If the project does not exist, a new project will be created automatically (required)
-e, --env: Deployment target environment. Available values: production or preview (default production)
Example: npx edgeone pages deploy ./dist -n project-name -t $EDGEONE_API_TOKEN
Cloud Native Build (CNB)
When code is pushed to the main branch, it triggers the following build process:
1. Import required environment variables
2. Build the project using Node.js 20 environment
3. Deploy build output to Pages
Deploying EdgeOne Pages
The project will be automatically deployed to Pages through the following process after build complete.
1. Generate the ./dist directory in the build stage
2. Use EdgeOne command line tool
edgeone pages deploy
to deploy.
More examples: https://cnb.cool/cnb/plugins/tencentcom/deploy-eopages
Reference document: https://docs.cnb.cool/en/build/quick-start.html