fix deploy and logs
This commit is contained in:
parent
79b3c8d693
commit
af8bbf536f
5 changed files with 40 additions and 6 deletions
|
|
@ -78,6 +78,9 @@ func (a *App) deployProjectFromMain(_ context.Context, p Project) error {
|
|||
return err
|
||||
}
|
||||
repoDir := filepath.Join(projectDir, "repo")
|
||||
if _, err := os.Stat(repoDir); err != nil {
|
||||
return fmt.Errorf("repo checkout missing at %s (trigger deploy webhook/push first)", repoDir)
|
||||
}
|
||||
binDir := filepath.Join(projectDir, "bin")
|
||||
if err := os.MkdirAll(binDir, 0o755); err != nil {
|
||||
return err
|
||||
|
|
@ -97,6 +100,25 @@ func (a *App) deployProjectFromMain(_ context.Context, p Project) error {
|
|||
return err
|
||||
}
|
||||
}
|
||||
if err := a.buildProjectBinary(p); err != nil {
|
||||
return err
|
||||
}
|
||||
return runSystemctlUser(p.UnixUser, "restart", p.ServiceName)
|
||||
}
|
||||
|
||||
func (a *App) buildProjectBinary(p Project) error {
|
||||
projectDir, err := a.projectDirFor(p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
repoDir := filepath.Join(projectDir, "repo")
|
||||
binDir := filepath.Join(projectDir, "bin")
|
||||
if err := os.MkdirAll(binDir, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := ensureOwnedByUnixUser(binDir, p.UnixUser, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
binaryPath := filepath.Join(binDir, "app")
|
||||
if err := runCmd("go", "-C", repoDir, "build", "-o", binaryPath, "."); err != nil {
|
||||
return fmt.Errorf("build failed: %w", err)
|
||||
|
|
@ -104,5 +126,5 @@ func (a *App) deployProjectFromMain(_ context.Context, p Project) error {
|
|||
if err := ensureOwnedByUnixUser(binaryPath, p.UnixUser, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
return runSystemctlUser(p.UnixUser, "restart", p.ServiceName)
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue