@@ -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 }}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user