feat: 增加namespace
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-01-10 17:51:52 +08:00
parent 112ae73203
commit e38bf7e1af
12 changed files with 187 additions and 110 deletions
+16 -9
View File
@@ -4,6 +4,8 @@ import (
"bytes"
"text/template"
"git.icechen.cn/pkg/drone_plugin/config"
"git.icechen.cn/pkg/drone_plugin/go_handler/go_handler_template"
"git.icechen.cn/pkg/drone_plugin/consts"
@@ -12,24 +14,29 @@ import (
const TypeGolang = "golang"
type GoApiHandler struct {
NameSpace string
Name string
AliasName string
Root string
Port string
Host string
Path string
ServiceEnv map[string]string
DeployEnv consts.Env
NameSpace string
Name string
AliasName string
Root string
Port string
Host string
Path string
DeployEnv consts.Env
Reg config.Registry
Kube config.KubeConfig
}
func (gah GoApiHandler) ToDestinationConfig() (string, error) {
var err error
t := template.New(gah.Name)
gah.Reg = config.GetRegistryConfig()
apiPipeline := go_handler_template.ApiTestPipeline
gah.Kube = config.GetTestKubeConfigByNamespace(gah.NameSpace)
if gah.DeployEnv == consts.EnvProduction {
apiPipeline = go_handler_template.ApiProductionPipeline
gah.Kube = config.GetOnlKubeConfigByNamespace(gah.NameSpace)
}
t, err = t.Parse(apiPipeline)
@@ -3,7 +3,7 @@ package go_handler_template
const ApiProductionPipeline = `
kind: pipeline
type: docker
name: 部署production-api-{{ .Name }}
name: 部署production-api-{{ .Name }}.{{ .NameSpace }}
steps:
- name: build
@@ -12,12 +12,10 @@ steps:
- name: docker
path: /var/run/docker.sock
settings:
username:
from_secret: reg_username
password:
from_secret: reg_password
repo: reg.icechen.cn/{{ .NameSpace }}/api-{{ .Name }}
registry: reg.icechen.cn
username: {{ .Reg.Password }}
password: {{ .Reg.Registry }}
repo: {{ .Reg.Registry }}/{{ .NameSpace }}/api-{{ .Name }}
registry: {{ .Reg.Registry }}
tags:
- ${DRONE_TAG}
- latest
@@ -27,12 +25,9 @@ steps:
- name: deploy
image: bitsbeats/drone-helm3
settings:
kube_api_server:
from_secret: kubernetes_server
kube_token:
from_secret: kubernetes_token
kube_certificate:
from_secret: kubernetes_cert
kube_api_server: {{ .Kube.KubeApiServer }}
kube_token: {{ .Kube.KubeToken }}
kube_certificate: {{ .Kube.KubeCertificate }}
chart: ./{{ .Root }}/deploy
release: api-{{ .Name }}
wait: true
@@ -40,7 +35,7 @@ steps:
values:
- nameSpace={{ .NameSpace }}
- aliasName={{ .AliasName }}
- image=reg.icechen.cn/{{ .NameSpace }}/api-{{ .Name }}
- image={{ .Reg.Registry }}/{{ .NameSpace }}/api-{{ .Name }}
- imageTag=${DRONE_TAG}
- port={{ .Port }}
{{ if .Host }}
@@ -3,7 +3,7 @@ package go_handler_template
const ApiTestPipeline = `
kind: pipeline
type: docker
name: 部署test-api-{{ .Name }}
name: 部署test-api-{{ .Name }}.{{ .NameSpace }}
steps:
- name: build
@@ -12,12 +12,10 @@ steps:
- name: docker
path: /var/run/docker.sock
settings:
username:
from_secret: reg_username
password:
from_secret: reg_password
repo: reg.icechen.cn/{{ .NameSpace }}/api-{{ .Name }}
registry: reg.icechen.cn
username: {{ .Reg.Password }}
password: {{ .Reg.Registry }}
repo: {{ .Reg.Registry }}/{{ .NameSpace }}/api-{{ .Name }}
registry: {{ .Reg.Registry }}
tags:
- ${DRONE_COMMIT:0:8}
- latest
@@ -27,12 +25,9 @@ steps:
- name: deploy
image: bitsbeats/drone-helm3
settings:
kube_api_server:
from_secret: kubernetes_server_test
kube_token:
from_secret: kubernetes_token_test
kube_certificate:
from_secret: kubernetes_cert_test
kube_api_server: {{ .Kube.KubeApiServer }}
kube_token: {{ .Kube.KubeToken }}
kube_certificate: {{ .Kube.KubeCertificate }}
chart: ./{{ .Root }}/deploy
release: api-{{ .Name }}-test
wait: true
@@ -40,7 +35,7 @@ steps:
values:
- nameSpace={{ .NameSpace }}
- aliasName={{ .AliasName }}
- image=reg.icechen.cn/{{ .NameSpace }}/api-{{ .Name }}
- image={{ .Reg.Registry }}/{{ .NameSpace }}/api-{{ .Name }}
- imageTag=${DRONE_COMMIT:0:8}
- port={{ .Port }}
{{ if .Host }}
@@ -3,7 +3,7 @@ package go_handler_template
const ServiceProductionPipeline = `
kind: pipeline
type: docker
name: 部署production-service-{{ .Name }}
name: 部署production-service-{{ .Name }}.{{ .NameSpace }}
steps:
- name: build
@@ -12,12 +12,10 @@ steps:
- name: docker
path: /var/run/docker.sock
settings:
username:
from_secret: reg_username
password:
from_secret: reg_password
repo: reg.icechen.cn/{{ .NameSpace }}/service-{{ .Name }}
registry: reg.icechen.cn
username: {{ .Reg.Password }}
password: {{ .Reg.Registry }}
repo: {{ .Reg.Registry }}/{{ .NameSpace }}/service-{{ .Name }}
registry: {{ .Reg.Registry }}
tags:
- "${DRONE_TAG}"
- latest
@@ -27,12 +25,9 @@ steps:
- name: deploy
image: bitsbeats/drone-helm3
settings:
kube_api_server:
from_secret: kubernetes_server
kube_token:
from_secret: kubernetes_token
kube_certificate:
from_secret: kubernetes_cert
kube_api_server: {{ .Kube.KubeApiServer }}
kube_token: {{ .Kube.KubeToken }}
kube_certificate: {{ .Kube.KubeCertificate }}
chart: ./{{ .Root }}/deploy
release: service-{{ .Name }}
wait: true
@@ -40,7 +35,7 @@ steps:
values:
- nameSpace={{ .NameSpace }}
- aliasName={{ .AliasName }}
- image=reg.icechen.cn/{{ .NameSpace }}/service-{{ .Name }}
- image={{ .Reg.Registry }}/{{ .NameSpace }}/service-{{ .Name }}
- imageTag=${DRONE_TAG}
- port={{ .Port }}
@@ -3,7 +3,7 @@ package go_handler_template
const ServiceTestPipeline = `
kind: pipeline
type: docker
name: 部署test-service-{{ .Name }}
name: 部署test-service-{{ .Name }}.{{ .NameSpace }}
steps:
- name: build
@@ -12,12 +12,10 @@ steps:
- name: docker
path: /var/run/docker.sock
settings:
username:
from_secret: reg_username
password:
from_secret: reg_password
repo: reg.icechen.cn/{{ .NameSpace }}/service-{{ .Name }}
registry: reg.icechen.cn
username: {{ .Reg.Password }}
password: {{ .Reg.Registry }}
repo: {{ .Reg.Registry }}/{{ .NameSpace }}/service-{{ .Name }}
registry: {{ .Reg.Registry }}
tags:
- ${DRONE_COMMIT:0:8}
- latest
@@ -27,12 +25,9 @@ steps:
- name: deploy
image: bitsbeats/drone-helm3
settings:
kube_api_server:
from_secret: kubernetes_server_test
kube_token:
from_secret: kubernetes_token_test
kube_certificate:
from_secret: kubernetes_cert_test
kube_api_server: {{ .Kube.KubeApiServer }}
kube_token: {{ .Kube.KubeToken }}
kube_certificate: {{ .Kube.KubeCertificate }}
chart: ./{{ .Root }}/deploy
release: service-{{ .Name }}-test
wait: true
@@ -40,7 +35,7 @@ steps:
values:
- nameSpace={{ .NameSpace }}
- aliasName={{ .AliasName }}
- image=reg.icechen.cn/{{ .NameSpace }}/service-{{ .Name }}
- image={{ .Reg.Registry }}/{{ .NameSpace }}/service-{{ .Name }}
- imageTag=${DRONE_COMMIT:0:8}
- port={{ .Port }}
+14 -7
View File
@@ -4,28 +4,35 @@ import (
"bytes"
"text/template"
"git.icechen.cn/pkg/drone_plugin/config"
"git.icechen.cn/pkg/drone_plugin/go_handler/go_handler_template"
"git.icechen.cn/pkg/drone_plugin/consts"
)
type GoServiceHandler struct {
NameSpace string
Name string
AliasName string
Root string
Port string
ServiceEnv map[string]string
DeployEnv consts.Env
NameSpace string
Name string
AliasName string
Root string
Port string
DeployEnv consts.Env
Reg config.Registry
Kube config.KubeConfig
}
func (gsh GoServiceHandler) ToDestinationConfig() (string, error) {
var err error
t := template.New(gsh.Name)
gsh.Reg = config.GetRegistryConfig()
servicePipeline := go_handler_template.ServiceTestPipeline
gsh.Kube = config.GetTestKubeConfigByNamespace(gsh.NameSpace)
if gsh.DeployEnv == consts.EnvProduction {
servicePipeline = go_handler_template.ServiceProductionPipeline
gsh.Kube = config.GetOnlKubeConfigByNamespace(gsh.NameSpace)
}
t, err = t.Parse(servicePipeline)