| .. | ||
| devnet | ||
| README.md | ||
CI/CD pipeline for XDC
This directory contains CI/CD scripts used for each of the XDC environments.
How to deploy more nodes
Adjust the number of variable num_of_nodes under file .env. (Maximum supported is 58)
Devnet
Each PR merged into dev-upgrade will trigger below actions:
- Tests
- Terraform to apply infrascture changes(if any)
- Docker build of XDC with devnet configurations with tag of
:latest - Docker push to docker hub. https://hub.docker.com/repository/docker/xinfinorg/devnet
- Deployment of the latest XDC image(from above) to devnet run by AWS ECS
First time set up an new environment
- Pre-generate a list of node private keys in below format
{
"xdc0": {
"pk": {{PRIVATE KEY}}
},
"xdc1": {...},
"xdc{{NUMBER}}: {...}
}
- Access to aws console, create a bucket with name
tf-devnet-bucket:
- You can choose any name, just make sure update the name in the s3 bucket name variable in
variables.tf - And update the name of the terraform.backend.s3.bucket from
s3.tf
- Upload the file from step 1 into the above bucket with name
node-config.json - In order to allow pipeline able to push and deploy via ECR and ECS, we require below environment variables to be injected into the CI pipeline:
- DOCKER_USERNAME
- DOCKER_PASSWORD
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
You are all set!
Testnet
*** WIP ***
Testnet release build are triggered by cutting a "pre-release" tag which matches the name of TESTNET-{{release-version}} from dev-upgrade or master branch.
An example can be found here: https://github.com/XinFinOrg/XDPoSChain/releases/tag/Testnet-v2.0.0
For more information, refer to github documentation on the release: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
Mainnet
*** WIP ***
Mainnet release are triggered by making a normal release tag with name starting with v (stands for version) from the master branch.