mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Support migrating storage for actions log via command line (#24679)
Close #24677 --------- Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
		@@ -8,6 +8,7 @@ import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	actions_model "code.gitea.io/gitea/models/actions"
 | 
			
		||||
	"code.gitea.io/gitea/models/db"
 | 
			
		||||
	git_model "code.gitea.io/gitea/models/git"
 | 
			
		||||
	"code.gitea.io/gitea/models/migrations"
 | 
			
		||||
@@ -32,7 +33,7 @@ var CmdMigrateStorage = cli.Command{
 | 
			
		||||
		cli.StringFlag{
 | 
			
		||||
			Name:  "type, t",
 | 
			
		||||
			Value: "",
 | 
			
		||||
			Usage: "Type of stored files to copy.  Allowed types: 'attachments', 'lfs', 'avatars', 'repo-avatars', 'repo-archivers', 'packages'",
 | 
			
		||||
			Usage: "Type of stored files to copy.  Allowed types: 'attachments', 'lfs', 'avatars', 'repo-avatars', 'repo-archivers', 'packages', 'actions-log'",
 | 
			
		||||
		},
 | 
			
		||||
		cli.StringFlag{
 | 
			
		||||
			Name:  "storage, s",
 | 
			
		||||
@@ -134,6 +135,22 @@ func migratePackages(ctx context.Context, dstStorage storage.ObjectStorage) erro
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func migrateActionsLog(ctx context.Context, dstStorage storage.ObjectStorage) error {
 | 
			
		||||
	return db.Iterate(ctx, nil, func(ctx context.Context, task *actions_model.ActionTask) error {
 | 
			
		||||
		if task.LogExpired {
 | 
			
		||||
			// the log has been cleared
 | 
			
		||||
			return nil
 | 
			
		||||
		}
 | 
			
		||||
		if !task.LogInStorage {
 | 
			
		||||
			// running tasks store logs in DBFS
 | 
			
		||||
			return nil
 | 
			
		||||
		}
 | 
			
		||||
		p := task.LogFilename
 | 
			
		||||
		_, err := storage.Copy(dstStorage, p, storage.Actions, p)
 | 
			
		||||
		return err
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func runMigrateStorage(ctx *cli.Context) error {
 | 
			
		||||
	stdCtx, cancel := installSignals()
 | 
			
		||||
	defer cancel()
 | 
			
		||||
@@ -201,6 +218,7 @@ func runMigrateStorage(ctx *cli.Context) error {
 | 
			
		||||
		"repo-avatars":   migrateRepoAvatars,
 | 
			
		||||
		"repo-archivers": migrateRepoArchivers,
 | 
			
		||||
		"packages":       migratePackages,
 | 
			
		||||
		"actions-log":    migrateActionsLog,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	tp := strings.ToLower(ctx.String("type"))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user