mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-10-21 12:00:02 +00:00
Allow to store logs in files (#3568)
Co-authored-by: Anbraten <6918444+anbraten@users.noreply.github.com>
This commit is contained in:
@@ -241,6 +241,17 @@ var flags = append([]cli.Flag{
|
||||
Usage: "Disable version check in admin web ui.",
|
||||
Name: "skip-version-check",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
EnvVars: []string{"WOODPECKER_LOG_STORE"},
|
||||
Name: "log-store",
|
||||
Usage: "log store to use ('database' or 'file')",
|
||||
Value: "database",
|
||||
},
|
||||
&cli.StringFlag{
|
||||
EnvVars: []string{"WOODPECKER_LOG_STORE_FILE_PATH"},
|
||||
Name: "log-store-file-path",
|
||||
Usage: "directory used for file based log storage",
|
||||
},
|
||||
//
|
||||
// backend options for pipeline compiler
|
||||
//
|
||||
|
@@ -276,6 +276,11 @@ func setupEvilGlobals(c *cli.Context, s store.Store) error {
|
||||
}
|
||||
server.Config.Services.Manager = serviceManager
|
||||
|
||||
server.Config.Services.LogStore, err = setupLogStore(c, s)
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not setup log store: %w", err)
|
||||
}
|
||||
|
||||
// authentication
|
||||
server.Config.Pipeline.AuthenticatePublicRepos = c.Bool("authenticate-public-repos")
|
||||
|
||||
|
@@ -30,6 +30,8 @@ import (
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/cache"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/queue"
|
||||
logService "go.woodpecker-ci.org/woodpecker/v2/server/services/log"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/services/log/file"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/store"
|
||||
"go.woodpecker-ci.org/woodpecker/v2/server/store/datastore"
|
||||
)
|
||||
@@ -154,3 +156,12 @@ func setupMetrics(g *errgroup.Group, _store store.Store) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func setupLogStore(c *cli.Context, s store.Store) (logService.Service, error) {
|
||||
switch c.String("log-store") {
|
||||
case "file":
|
||||
return file.NewLogStore(c.String("log-store-file-path"))
|
||||
default:
|
||||
return s, nil
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user