fix
This commit is contained in:
parent
4cfc6be322
commit
8d9b05608f
5 changed files with 59 additions and 11 deletions
|
|
@ -81,7 +81,8 @@ func (a *App) deployProjectFromMain(_ context.Context, p Project) error {
|
|||
if err := a.syncProjectRepoFromMain(p, projectDir); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := a.buildProjectBinary(p); err != nil {
|
||||
repoDir := filepath.Join(projectDir, "repo")
|
||||
if err := a.buildProjectBinaryFromRepoDir(p, repoDir); err != nil {
|
||||
return err
|
||||
}
|
||||
return runSystemctlUser(p.UnixUser, "restart", p.ServiceName)
|
||||
|
|
@ -99,6 +100,14 @@ func (a *App) buildProjectBinary(p Project) error {
|
|||
return err
|
||||
}
|
||||
repoDir := filepath.Join(projectDir, "repo")
|
||||
return a.buildProjectBinaryFromRepoDir(p, repoDir)
|
||||
}
|
||||
|
||||
func (a *App) buildProjectBinaryFromRepoDir(p Project, repoDir string) error {
|
||||
projectDir, err := a.projectDirFor(p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
binDir := filepath.Join(projectDir, "bin")
|
||||
if err := os.MkdirAll(binDir, 0o755); err != nil {
|
||||
return err
|
||||
|
|
@ -121,20 +130,30 @@ func (a *App) buildProjectBinary(p Project) error {
|
|||
|
||||
func (a *App) syncProjectRepoFromMain(p Project, projectDir string) error {
|
||||
repoDir := filepath.Join(projectDir, "repo")
|
||||
plainRepoURL := strings.TrimSpace(p.RepoURL)
|
||||
repoCloneURL := a.repoURLForGitAuth(p.RepoURL)
|
||||
if _, err := os.Stat(repoDir); os.IsNotExist(err) {
|
||||
if err := runCmd("git", "clone", "--branch", "main", "--single-branch", repoCloneURL, repoDir); err != nil {
|
||||
if err := os.MkdirAll(repoDir, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := runCmd("git", "-C", repoDir, "init"); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := runCmd("git", "-C", repoDir, "remote", "add", "origin", plainRepoURL); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := runCmd("git", "-C", repoDir, "fetch", repoCloneURL, "main", "--prune"); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := runCmd("git", "-C", repoDir, "reset", "--hard", "FETCH_HEAD"); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
if err := runCmd("git", "-C", repoDir, "remote", "set-url", "origin", repoCloneURL); err != nil {
|
||||
if err := runCmd("git", "-C", repoDir, "fetch", repoCloneURL, "main", "--prune"); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := runCmd("git", "-C", repoDir, "fetch", "origin", "main", "--prune"); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := runCmd("git", "-C", repoDir, "reset", "--hard", "origin/main"); err != nil {
|
||||
if err := runCmd("git", "-C", repoDir, "reset", "--hard", "FETCH_HEAD"); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue