mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-25 07:37:48 -04: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