MCT GitHub Code Migration Design
This is a brief design of Migrating MCT code from BitBucket to GitHub.
Frontend Repo Structure ¶
mct-web-portal ¶
Refactored from: mct-web-portal
mct-web-portal/
├── .gitignore
├── Jenkinsfile
├── public/ # static files
├── src/ # mct main
│ ├── assets/
│ ├── components/
│ ├── store/
│ ├── App.vue
│ ├── main.ts
│ └── ...
├── vue.config.js # Vue.js configuration
├── tsconfig.json # TypeScript configuration
├── babel.config.js # Babel configuration
├── package.json # npm dependencies and scripts
├── README.md
└── ...
mct ¶
Source: mct-core, which consolidates the former cloudtools-mct and cloudtools-mct-hydra repositories.
mct/
├── .gitignore
├── Jenkinsfile
├── database # DB change
│ ├── 17000/
│ └── ...
├── mct-cloud-agent/ # cloud agent
│ ├── src/
│ ├── Dockerfile
│ ├── pom.xml
│ └── ...
├── mct-status-consumer/ # akka stream
│ ├── src/
│ ├── Dockerfile
│ ├── pom.xml
│ └── ...
├── mct-job-engine/ # job engine
│ ├── src/
│ ├── Dockerfile
│ ├── pom.xml
│ └── ...
├── mct-shared/ # common wrapper
│ ├── src/
│ ├── pom.xml
│ └── ...
├── mct-status-api/ # gpi + general wrapper (cloud be merged with gpi)
│ ├── src/
│ ├── Dockerfile
│ ├── pom.xml
│ └── ...
├── mct-api/ # should be divided into finer grained micro services on later phase
│ ├── src/
│ ├── Dockerfile
│ ├── pom.xml
│ └── ...
│── legacy/ # placeholder: may no need to migrate
│ ├── enterprise-agent/
│ ├── task-engine/
│ ├── mct-acl/
│ ├── MCTURLStation/
│ └── ...
├── pom.xml # root pom for all micro-services
└── README.md # should add the source / original BitBucket repo link here
Leave
TaskEngineon BitBucket, since it's belong to another project which is on-hold.
Leave
PageNewon BitBucket, since it will be retired
Leave
CloudAgenton BitBucket, since it will be retired
Merge
GeneralWrapperintogpi?
mct-java-plugin ¶
Source: mct-java-plugin
mct-java-plugin/
├── .gitignore
├── Jenkinsfile
├── examples/ # java plugin examples
│ └── hello-world/
│ ├── src/
│ ├── pom.xml
│ └── ...
├── middleware/ # middleware: plugin manager and plugin parent.
│ ├── plugin-manager/
│ │ ├── src/
│ │ ├── pom.xml
│ │ └── ...
│ └── plugin-parent/
│ ├── src/
│ ├── pom.xml
│ └── ...
│── plugins/ # all java plugins
│ ├── ESCountMonitor/
│ ├── CertMonitor/
│ ├── port-check/
│ └── ...
└── README.md # should add the source / original BitBucket repo link here
:heavy_exclamation_mark: Migrate all Jmx files to
Jmeterplugin's sub folder
Backend Repo Structure ¶
TODO
Migration Plan ¶
- Migration owner confirm there is no active PR ongoing.
- Migration owner announces migration will be started.
- All team members stop making code changes based on BitBucket repo (except those legacy projects listed above)
- Migration owner migrate code to GitHub based on above structure.
- Migration owner announces code migration is completed, so that team members can checkout code from GitHub and develop based on it.
- Migration owner update the Jenkins configuration as soon as possible