From b14ad791df025dfb6bacd3b366f4816cc19eaab6 Mon Sep 17 00:00:00 2001 From: mountain Date: Mon, 12 Jun 2023 12:28:33 +0900 Subject: [PATCH] =?UTF-8?q?config=ED=8C=8C=EC=9D=BC=EC=9D=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=EB=A1=9C=20=EB=B0=B0=ED=8F=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/deploy.go | 15 ++++++++++----- server/http_api.go | 3 ++- shared/operator.go | 1 + 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/client/deploy.go b/client/deploy.go index 57a2c47..daa4d12 100644 --- a/client/deploy.go +++ b/client/deploy.go @@ -188,11 +188,11 @@ func (hc *houstonClient) prepareDeploy(name string, version string) (destPath st return verpath, nil } -func (hc *houstonClient) makeDownloadUrl(req *shared.DeployRequest) string { - out := req.Url +func (hc *houstonClient) makeDownloadUrl(rel string) string { + out := rel if !strings.HasPrefix(out, "http") { tks := strings.SplitN(hc.httpAddr, "://", 2) - out = fmt.Sprintf("%s://%s", tks[0], path.Join(tks[1], req.Url)) + out = fmt.Sprintf("%s://%s", tks[0], path.Join(tks[1], rel)) } return out } @@ -241,7 +241,7 @@ func (hc *houstonClient) prepareUpdateSelf(req *shared.DeployRequest) (srcdir st if err != nil { return "", "", err } - fname, err := download(tempdir, hc.makeDownloadUrl(req), req.AccessToken) + fname, err := download(tempdir, hc.makeDownloadUrl(req.Url), req.AccessToken) if err != nil { return "", "", err } @@ -274,7 +274,7 @@ func (hc *houstonClient) deploy(req *shared.DeployRequest) error { logger.Println("start downloading", req.Url) // verpath에 배포 시작 - fname, err := download(root, hc.makeDownloadUrl(req), req.AccessToken) + fname, err := download(root, hc.makeDownloadUrl(req.Url), req.AccessToken) if err != nil { return err } @@ -286,6 +286,11 @@ func (hc *houstonClient) deploy(req *shared.DeployRequest) error { err = untar(fname) } + if err == nil { + // config.json도 다운로드 + _, err = download(root, hc.makeDownloadUrl(req.Config), req.AccessToken) + } + return err } diff --git a/server/http_api.go b/server/http_api.go index ad8c9c7..59e4bf2 100644 --- a/server/http_api.go +++ b/server/http_api.go @@ -90,7 +90,7 @@ func (h *houstonHandler) UploadDeploySource(w http.ResponseWriter, r *http.Reque var filename string if version == "config" { - filename = path.Join("deploys", name, version, "config"+ext) + filename = path.Join("deploys", name, version, "config.json") } else { // deploys 폴더는 파일시스템 서비스이므로 다운로드 가능 filename = path.Join("deploys", name, version, name+ext) @@ -189,6 +189,7 @@ func (h *houstonHandler) Deploy(w http.ResponseWriter, r *http.Request) { Name: name, Version: version, Url: path.Join(relPath, latestFilename), + Config: path.Join("deploys", name, "config", "config.json"), }, targets, )) diff --git a/shared/operator.go b/shared/operator.go index 661f7a4..de404bf 100644 --- a/shared/operator.go +++ b/shared/operator.go @@ -22,6 +22,7 @@ type DeployRequest struct { Name string Version string Url string + Config string AccessToken string }