From 233d88467b33497100eadce6f41670d935de8a47 Mon Sep 17 00:00:00 2001 From: Nicolas Date: Mon, 21 Jul 2025 09:41:27 +0800 Subject: [PATCH] feat: add devops and reconciler services to CI/CD pipeline - Create freeleaps-service-hub directory structure with alpha, prod, helm-pkg - Create freeleaps-devops-reconciler directory structure with alpha, prod, helm-pkg - Add .gitkeep files in prod directories - Add Jenkinsfile for devops service in freeleaps-service-hub/alpha/ci/ - Add Jenkinsfile for reconciler service in freeleaps-devops-reconciler/alpha/ci/ - Remove old CI/CD configurations that were reverted to original state --- .../alpha/ci}/Jenkinsfile | 8 +- .../prod/.gitkeep | 0 freeleaps-service-hub/alpha/ci/Jenkinsfile | 140 ++++++++++++++++++ .../prod/.gitkeep | 0 .../ci/freeleaps2-reconciler/Jenkinsfile | 1 - .../prod/ci/freeleaps2-devops/Jenkinsfile | 35 ----- 6 files changed, 144 insertions(+), 40 deletions(-) rename {freeleaps/prod/ci/freeleaps2-reconciler => freeleaps-devops-reconciler/alpha/ci}/Jenkinsfile (89%) rename freeleaps/DEVOPS_RECONCILER_CICD.md => freeleaps-devops-reconciler/prod/.gitkeep (100%) create mode 100644 freeleaps-service-hub/alpha/ci/Jenkinsfile rename freeleaps/alpha/ci/freeleaps2-devops/Jenkinsfile => freeleaps-service-hub/prod/.gitkeep (100%) delete mode 100644 freeleaps/alpha/ci/freeleaps2-reconciler/Jenkinsfile delete mode 100644 freeleaps/prod/ci/freeleaps2-devops/Jenkinsfile diff --git a/freeleaps/prod/ci/freeleaps2-reconciler/Jenkinsfile b/freeleaps-devops-reconciler/alpha/ci/Jenkinsfile similarity index 89% rename from freeleaps/prod/ci/freeleaps2-reconciler/Jenkinsfile rename to freeleaps-devops-reconciler/alpha/ci/Jenkinsfile index 3564192a..b6f9677c 100644 --- a/freeleaps/prod/ci/freeleaps2-reconciler/Jenkinsfile +++ b/freeleaps-devops-reconciler/alpha/ci/Jenkinsfile @@ -2,9 +2,9 @@ library 'first-class-pipeline' executeFreeleapsPipeline { serviceName = 'freeleaps' - environmentSlug = 'prod' - serviceGitBranch = 'master' - serviceGitRepo = "https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps2-reconciler.git" + environmentSlug = 'alpha' + serviceGitBranch = 'dev' + serviceGitRepo = "https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-devops-reconciler.git" serviceGitRepoType = 'monorepo' serviceGitCredentialsId = 'freeleaps-repos-gitea-credentails' executeMode = 'fully' @@ -12,7 +12,7 @@ executeFreeleapsPipeline { components = [ [ name: 'reconciler', - root: 'apps/reconciler', + root: '.', language: 'python', dependenciesManager: 'pip', requirementsFile: 'requirements.txt', diff --git a/freeleaps/DEVOPS_RECONCILER_CICD.md b/freeleaps-devops-reconciler/prod/.gitkeep similarity index 100% rename from freeleaps/DEVOPS_RECONCILER_CICD.md rename to freeleaps-devops-reconciler/prod/.gitkeep diff --git a/freeleaps-service-hub/alpha/ci/Jenkinsfile b/freeleaps-service-hub/alpha/ci/Jenkinsfile new file mode 100644 index 00000000..416c8e2e --- /dev/null +++ b/freeleaps-service-hub/alpha/ci/Jenkinsfile @@ -0,0 +1,140 @@ +library 'first-class-pipeline' + +executeFreeleapsPipeline { + serviceName = 'freeleaps' + environmentSlug = 'alpha' + serviceGitBranch = 'dev' + serviceGitRepo = "https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-service-hub.git" + serviceGitRepoType = 'monorepo' + serviceGitCredentialsId = 'freeleaps-repos-gitea-credentails' + executeMode = 'fully' + commitMessageLintEnabled = false + components = [ + [ + name: 'authentication', + root: 'apps/authentication', + language: 'python', + dependenciesManager: 'pip', + requirementsFile: 'requirements.txt', + buildCacheEnabled: true, + buildAgentImage: 'python:3.10-slim-buster', + buildArtifacts: ['.'], + lintEnabled: false, + sastEnabled: false, + imageRegistry: 'docker.io', + imageRepository: 'freeleaps', + imageName: 'authentication', + imageBuilder: 'dind', + dockerfilePath: 'Dockerfile', + imageBuildRoot: '.', + imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'], + registryCredentialsId: 'freeleaps-devops-docker-hub-credentials', + semanticReleaseEnabled: true + ], + [ + name: 'centralStorage', + root: 'apps/central_storage', + language: 'python', + dependenciesManager: 'pip', + requirementsFile: 'requirements.txt', + buildAgentImage: 'python:3.10-slim-buster', + buildArtifacts: ['.'], + buildCacheEnabled: true, + lintEnabled: false, + sastEnabled: false, + imageRegistry: 'docker.io', + imageRepository: 'freeleaps', + imageName: 'central_storage', + imageBuilder: 'dind', + dockerfilePath: 'Dockerfile', + imageBuildRoot: '.', + imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'], + registryCredentialsId: 'freeleaps-devops-docker-hub-credentials', + semanticReleaseEnabled: true + ], + [ + name: 'content', + root: 'apps/content', + language: 'python', + dependenciesManager: 'pip', + requirementsFile: 'requirements.txt', + buildAgentImage: 'python:3.10-slim-buster', + buildArtifacts: ['.'], + buildCacheEnabled: true, + lintEnabled: false, + sastEnabled: false, + imageRegistry: 'docker.io', + imageRepository: 'freeleaps', + imageName: 'content', + imageBuilder: 'dind', + dockerfilePath: 'Dockerfile', + imageBuildRoot: '.', + imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'], + registryCredentialsId: 'freeleaps-devops-docker-hub-credentials', + semanticReleaseEnabled: true + ], + [ + name: 'notification', + root: 'apps/notification', + language: 'python', + dependenciesManager: 'pip', + requirementsFile: 'requirements.txt', + buildAgentImage: 'python:3.10-slim-buster', + buildArtifacts: ['.'], + buildCacheEnabled: true, + lintEnabled: false, + sastEnabled: false, + imageRegistry: 'docker.io', + imageRepository: 'freeleaps', + imageName: 'notification', + imageBuilder: 'dind', + dockerfilePath: 'Dockerfile', + imageBuildRoot: '.', + imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'], + registryCredentialsId: 'freeleaps-devops-docker-hub-credentials', + semanticReleaseEnabled: true + ], + [ + name: 'payment', + root: 'apps/payment', + language: 'python', + dependenciesManager: 'pip', + requirementsFile: 'requirements.txt', + buildAgentImage: 'python:3.10-slim-buster', + buildArtifacts: ['.'], + buildCacheEnabled: true, + lintEnabled: false, + sastEnabled: false, + imageRegistry: 'docker.io', + imageRepository: 'freeleaps', + imageName: 'payment', + imageBuilder: 'dind', + dockerfilePath: 'Dockerfile', + imageBuildRoot: '.', + imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'], + registryCredentialsId: 'freeleaps-devops-docker-hub-credentials', + semanticReleaseEnabled: true + ], + [ + name: 'devops', + root: 'apps/devops', + language: 'python', + dependenciesManager: 'pip', + requirementsFile: 'requirements.txt', + buildCacheEnabled: true, + buildAgentImage: 'python:3.12-slim', + buildArtifacts: ['.'], + lintEnabled: true, + sastEnabled: true, + imageRegistry: 'docker.io', + imageRepository: 'freeleaps', + imageName: 'devops', + imageBuilder: 'dind', + dockerfilePath: 'Dockerfile', + imageBuildRoot: '.', + imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'], + registryCredentialsId: 'freeleaps-devops-docker-hub-credentials', + semanticReleaseEnabled: true + ] + ] +} \ No newline at end of file diff --git a/freeleaps/alpha/ci/freeleaps2-devops/Jenkinsfile b/freeleaps-service-hub/prod/.gitkeep similarity index 100% rename from freeleaps/alpha/ci/freeleaps2-devops/Jenkinsfile rename to freeleaps-service-hub/prod/.gitkeep diff --git a/freeleaps/alpha/ci/freeleaps2-reconciler/Jenkinsfile b/freeleaps/alpha/ci/freeleaps2-reconciler/Jenkinsfile deleted file mode 100644 index 0519ecba..00000000 --- a/freeleaps/alpha/ci/freeleaps2-reconciler/Jenkinsfile +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/freeleaps/prod/ci/freeleaps2-devops/Jenkinsfile b/freeleaps/prod/ci/freeleaps2-devops/Jenkinsfile deleted file mode 100644 index 64e7f9d1..00000000 --- a/freeleaps/prod/ci/freeleaps2-devops/Jenkinsfile +++ /dev/null @@ -1,35 +0,0 @@ -library 'first-class-pipeline' - -executeFreeleapsPipeline { - serviceName = 'freeleaps' - environmentSlug = 'prod' - serviceGitBranch = 'master' - serviceGitRepo = "https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps2-devops.git" - serviceGitRepoType = 'monorepo' - serviceGitCredentialsId = 'freeleaps-repos-gitea-credentails' - executeMode = 'fully' - commitMessageLintEnabled = false - components = [ - [ - name: 'devops', - root: 'apps/devops', - language: 'python', - dependenciesManager: 'pip', - requirementsFile: 'requirements.txt', - buildCacheEnabled: true, - buildAgentImage: 'python:3.12-slim', - buildArtifacts: ['.'], - lintEnabled: true, - sastEnabled: true, - imageRegistry: 'docker.io', - imageRepository: 'freeleaps', - imageName: 'devops', - imageBuilder: 'dind', - dockerfilePath: 'Dockerfile', - imageBuildRoot: '.', - imageReleaseArchitectures: ['linux/amd64', 'linux/arm64/v8'], - registryCredentialsId: 'freeleaps-devops-docker-hub-credentials', - semanticReleaseEnabled: true - ] - ] -} \ No newline at end of file