Add real-time deployment updates and refactor JavaScript
- Add deploy stats (last deploy time, total count) to dashboard - Add recent-deployments API endpoint for real-time updates - Add live build logs to deployments history page - Fix git clone regression (preserve entrypoint for simple clones) - Refactor JavaScript into shared app.js with page init functions - Deploy button disables immediately on click - Auto-refresh deployment list and logs during builds - Format JavaScript with Prettier (4-space indent)
This commit is contained in:
@@ -554,16 +554,20 @@ func (c *Client) createGitContainer(
|
||||
// Build the git command based on whether we have a specific commit SHA
|
||||
var cmd []string
|
||||
|
||||
var entrypoint []string
|
||||
|
||||
if cfg.commitSHA != "" {
|
||||
// Clone without depth limit so we can checkout any commit, then checkout specific SHA
|
||||
// Using sh -c to run multiple commands
|
||||
// Using sh -c to run multiple commands - need to clear entrypoint
|
||||
script := fmt.Sprintf(
|
||||
"git clone --branch %s %s /repo && cd /repo && git checkout %s",
|
||||
cfg.branch, cfg.repoURL, cfg.commitSHA,
|
||||
)
|
||||
entrypoint = []string{}
|
||||
cmd = []string{"sh", "-c", script}
|
||||
} else {
|
||||
// Shallow clone of branch HEAD
|
||||
// Shallow clone of branch HEAD - use default git entrypoint
|
||||
entrypoint = nil
|
||||
cmd = []string{"clone", "--depth", "1", "--branch", cfg.branch, cfg.repoURL, "/repo"}
|
||||
}
|
||||
|
||||
@@ -571,7 +575,7 @@ func (c *Client) createGitContainer(
|
||||
resp, err := c.docker.ContainerCreate(ctx,
|
||||
&container.Config{
|
||||
Image: gitImage,
|
||||
Entrypoint: []string{}, // Clear entrypoint when using sh -c
|
||||
Entrypoint: entrypoint,
|
||||
Cmd: cmd,
|
||||
Env: []string{"GIT_SSH_COMMAND=" + gitSSHCmd},
|
||||
WorkingDir: "/",
|
||||
|
||||
Reference in New Issue
Block a user