@@ -3,57 +3,32 @@ package go_handler
|
||||
import (
|
||||
"bytes"
|
||||
"text/template"
|
||||
|
||||
"git.icechen.cn/pkg/drone_plugin/go_handler/go_handler_template"
|
||||
|
||||
"git.icechen.cn/pkg/drone_plugin/consts"
|
||||
)
|
||||
|
||||
const TypeGolang = "golang"
|
||||
|
||||
const apiPipeline = `
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: 部署{{ .Name }}
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
username:
|
||||
from_secret: reg_username
|
||||
password:
|
||||
from_secret: reg_password
|
||||
repo: reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}
|
||||
registry: reg.icechen.cn
|
||||
tags: ${DRONE_COMMIT:0:8}
|
||||
dockerfile: ./app/api/{{ .Name }}/Dockerfile
|
||||
|
||||
- name: run
|
||||
image: docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker rm -f {{ .NameSpace }}-{{ .Name }}
|
||||
- docker run -d --name="{{ .NameSpace }}-{{ .Name }}" --network="nginx-net"{{ range $key, $value := .ServiceEnv }} --env {{ $key }}={{ $value }} {{ end }}reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}:${DRONE_COMMIT:0:8}
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
`
|
||||
|
||||
type GoApiHandler struct {
|
||||
NameSpace string
|
||||
Name string
|
||||
Root string
|
||||
Port string
|
||||
ServiceEnv map[string]string
|
||||
DeployEnv consts.Env
|
||||
}
|
||||
|
||||
func (gah GoApiHandler) ToDestinationConfig() (string, error) {
|
||||
var err error
|
||||
t := template.New(gah.Name)
|
||||
|
||||
apiPipeline := go_handler_template.ApiTestPipeline
|
||||
if gah.DeployEnv == consts.EnvProduction {
|
||||
apiPipeline = go_handler_template.ApiProductionPipeline
|
||||
}
|
||||
|
||||
t, err = t.Parse(apiPipeline)
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package go_handler_template
|
||||
|
||||
const ApiProductionPipeline = `
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: 部署{{ .Name }}
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
username:
|
||||
from_secret: reg_username
|
||||
password:
|
||||
from_secret: reg_password
|
||||
repo: reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}
|
||||
registry: reg.icechen.cn
|
||||
tags: ${DRONE_COMMIT:0:8}
|
||||
dockerfile: ./{{ .Root }}/Dockerfile
|
||||
|
||||
- name: run
|
||||
image: docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker rm -f {{ .NameSpace }}-{{ .Name }}
|
||||
- docker run -d --name="{{ .NameSpace }}-{{ .Name }}" --network="nginx-net"{{ range $key, $value := .ServiceEnv }} --env {{ $key }}={{ $value }} {{ end }}reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}:${DRONE_COMMIT:0:8}
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
`
|
||||
@@ -0,0 +1,37 @@
|
||||
package go_handler_template
|
||||
|
||||
const ApiTestPipeline = `
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: 部署{{ .Name }}
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
username:
|
||||
from_secret: reg_username
|
||||
password:
|
||||
from_secret: reg_password
|
||||
repo: reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}
|
||||
registry: reg.icechen.cn
|
||||
tags: ${DRONE_COMMIT:0:8}
|
||||
dockerfile: ./{{ .Root }}/Dockerfile
|
||||
|
||||
- name: run
|
||||
image: docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker rm -f {{ .NameSpace }}-{{ .Name }}
|
||||
- docker run -d --name="{{ .NameSpace }}-{{ .Name }}" --network="nginx-net"{{ range $key, $value := .ServiceEnv }} --env {{ $key }}={{ $value }} {{ end }}reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}:${DRONE_COMMIT:0:8}
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
`
|
||||
@@ -0,0 +1,37 @@
|
||||
package go_handler_template
|
||||
|
||||
const ServiceProductionPipeline = `
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: 部署{{ .Name }}
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
username:
|
||||
from_secret: reg_username
|
||||
password:
|
||||
from_secret: reg_password
|
||||
repo: reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}
|
||||
registry: reg.icechen.cn
|
||||
tags: ${DRONE_COMMIT:0:8}
|
||||
dockerfile: ./{{ .Root }}/Dockerfile
|
||||
|
||||
- name: run
|
||||
image: docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker rm -f {{ .NameSpace }}-{{ .Name }}
|
||||
- docker run -d --name="{{ .NameSpace }}-{{ .Name }}" --network="nginx-net"{{ range $key, $value := .ServiceEnv }} --env {{ $key }}={{ $value }} {{ end }}reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}:${DRONE_COMMIT:0:8}
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
`
|
||||
@@ -0,0 +1,37 @@
|
||||
package go_handler_template
|
||||
|
||||
const ServiceTestPipeline = `
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: 部署{{ .Name }}
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
username:
|
||||
from_secret: reg_username
|
||||
password:
|
||||
from_secret: reg_password
|
||||
repo: reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}
|
||||
registry: reg.icechen.cn
|
||||
tags: ${DRONE_COMMIT:0:8}
|
||||
dockerfile: ./{{ .Root }}/Dockerfile
|
||||
|
||||
- name: run
|
||||
image: docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker rm -f {{ .NameSpace }}-{{ .Name }}
|
||||
- docker run -d --name="{{ .NameSpace }}-{{ .Name }}" --network="nginx-net"{{ range $key, $value := .ServiceEnv }} --env {{ $key }}={{ $value }} {{ end }}reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}:${DRONE_COMMIT:0:8}
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
`
|
||||
@@ -3,55 +3,30 @@ package go_handler
|
||||
import (
|
||||
"bytes"
|
||||
"text/template"
|
||||
|
||||
"git.icechen.cn/pkg/drone_plugin/go_handler/go_handler_template"
|
||||
|
||||
"git.icechen.cn/pkg/drone_plugin/consts"
|
||||
)
|
||||
|
||||
const servicePipeline = `
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: 部署{{ .Name }}
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
settings:
|
||||
username:
|
||||
from_secret: reg_username
|
||||
password:
|
||||
from_secret: reg_password
|
||||
repo: reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}
|
||||
registry: reg.icechen.cn
|
||||
tags: ${DRONE_COMMIT:0:8}
|
||||
dockerfile: ./app/service/{{ .Name }}/Dockerfile
|
||||
|
||||
- name: run
|
||||
image: docker
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker rm -f {{ .NameSpace }}-{{ .Name }}
|
||||
- docker run -d --name="{{ .NameSpace }}-{{ .Name }}" --network="nginx-net"{{ range $key, $value := .ServiceEnv }} --env {{ $key }}={{ $value }} {{ end }}reg.icechen.cn/{{ .NameSpace }}/{{ .Name }}:${DRONE_COMMIT:0:8}
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
`
|
||||
|
||||
type GoServiceHandler struct {
|
||||
NameSpace string
|
||||
Name string
|
||||
Root string
|
||||
Port string
|
||||
ServiceEnv map[string]string
|
||||
DeployEnv consts.Env
|
||||
}
|
||||
|
||||
func (gsh GoServiceHandler) ToDestinationConfig() (string, error) {
|
||||
var err error
|
||||
t := template.New(gsh.Name)
|
||||
|
||||
servicePipeline := go_handler_template.ServiceTestPipeline
|
||||
if gsh.DeployEnv == consts.EnvProduction {
|
||||
servicePipeline = go_handler_template.ServiceProductionPipeline
|
||||
}
|
||||
|
||||
t, err = t.Parse(servicePipeline)
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
||||
Reference in New Issue
Block a user