For BlueKing ci frontend (in the frontend directory), common-lib and svg-sprites contain static resources of project dependencies. The rest of directories contain SPA projects built with Vue, among which devop-nav is the main entry point. Other sub-services are integrated using the iframe element or the UMD pattern.
Node.js 8.0.0+
# First, install yarn globally
npm install -g yarn
# Then run install
yarn install
# Next, install the dependencies of each subroutine
yarn start
# Finally, run the packaging command
yarn public
The gateway is built with Lua scripts and Nginx configurations, so no compilation is needed.
|- devopsAgent.exe
|- devopsAgent_linux
|- devopsAgent_macos
|- devopsDaemon.exe
|- devopsDaemon_linux
|- devopsDaemon_macos
|- upgrader.exe
|- upgrader_linux
|- upgrader_linux
jOOQ is used to map database tables to POs for compilation, which depends on database tables. Therefore, the database needs to be initialized first. The initialization scripts are in the bk-ci/support-files/sql directory. Login to the database and run these scripts sequentially.
Modify the following parameters in gradle.properties.
MAVEN_REPO_URL=Set it to your private Maven repository if you have one. Otherwise, you can use a public one.
MAVEN_REPO_SNAPSHOT_URL=Set it to your private Maven snapshot repository if you have one. Otherwise, you can use a public one.
MAVEN_REPO_DEPLOY_URL=If you need to deploy JAR packages to your private Maven repository, set it to your repository address.
MAVEN_REPO_USERNAME=Only fill in when deployment is needed.
MAVEN_REPO_PASSWORD=Only fill in when deployment is needed.
DB_HOST=Your database. jOOQ needs to connect to your database and access database tables to create POs for compilation.
DB_USERNAME=Database username
DB_PASSWORD=Database password
cd bk-ci/src/backend/ci & gradle clean build
All the artifacts are stored in the backend/release directory, which mainly include the following ones. Package Name | Description :--- | :--- worker-agent.jar | This process runs tasks in the agent. As it is written in Kotlin, it is compiled with the backend. Eventually it will be merged with GoAgent installation package for deployment. boot-assembly.jar | This is a monolithic Spring Boot package which assembles 10 microservices. If you need to deploy using the monolithic package, set the service_name parameter in init.lua of gateway to “bk-ci”. By default, this parameter is set to empty and each microservice is deployed separately. boot-artifactory.jar | Artifactory microservice Springboot.jar boot-dispatch.jar | Dispatch microservice Springboot.jar boot-environment.jar | Environment microservice Springboot.jar boot-log.jar | Log microservice Springboot.jar boot-plugin.jar | Plugin microservice Springboot.jar boot-process.jar | Process microservice Springboot.jar boot-project.jar | Project microservice Springboot.jar boot-repository.jar | Repository microservice Springboot.jar boot-store.jar | Store microservice Springboot.jar boot-ticket.jar | Ticket microservice Springboot.jar