Skip to content

Commit f2a3abc

Browse files
authored
Move migrating repository from frontend to backend (go-gitea#6200)
* move migrating to backend * add loading image when migrating and fix tests * fix format * fix lint * add redis task queue support and improve docs * add redis vendor * fix vet * add database migrations and fix app.ini sample * add comments for task section on app.ini.sample * Update models/migrations/v84.go Co-Authored-By: lunny <[email protected]> * Update models/repo.go Co-Authored-By: lunny <[email protected]> * move migrating to backend * add loading image when migrating and fix tests * fix fmt * add redis task queue support and improve docs * fix fixtures * fix fixtures * fix duplicate function on index.js * fix tests * rename repository statuses * check if repository is being create when SSH request * fix lint * fix template * some improvements * fix template * unified migrate options * fix lint * fix loading page * refactor * When gitea restart, don't restart the running tasks because we may have servel gitea instances, that may break the migration * fix js * Update models/repo.go Co-Authored-By: guillep2k <[email protected]> * Update docs/content/doc/advanced/config-cheat-sheet.en-us.md Co-Authored-By: guillep2k <[email protected]> * fix tests * rename ErrTaskIsNotExist to ErrTaskDoesNotExist * delete release after add one on tests to make it run happy * fix tests * fix tests * improve codes * fix lint * fix lint * fix migrations
1 parent 0a96e59 commit f2a3abc

37 files changed

+1180
-210
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,4 @@ prime/
7777
*.snap
7878
*.snap-build
7979
*_source.tar.bz2
80+
.DS_Store

custom/conf/app.ini.sample

+9
Original file line numberDiff line numberDiff line change
@@ -808,3 +808,12 @@ IS_INPUT_FILE = false
808808
ENABLED = false
809809
; If you want to add authorization, specify a token here
810810
TOKEN =
811+
812+
[task]
813+
; Task queue type, could be `channel` or `redis`.
814+
QUEUE_TYPE = channel
815+
; Task queue length, available only when `QUEUE_TYPE` is `channel`.
816+
QUEUE_LENGTH = 1000
817+
; Task queue connction string, available only when `QUEUE_TYPE` is `redis`.
818+
; If there is a password of redis, use `addrs=127.0.0.1:6379 password=123 db=0`.
819+
QUEUE_CONN_STR = "addrs=127.0.0.1:6379 db=0"

docs/content/doc/advanced/config-cheat-sheet.en-us.md

+7
Original file line numberDiff line numberDiff line change
@@ -514,9 +514,16 @@ Two special environment variables are passed to the render command:
514514
- `GITEA_PREFIX_RAW`, which contains the current URL prefix in the `raw` path tree. To be used as prefix for image paths.
515515

516516
## Time (`time`)
517+
517518
- `FORMAT`: Time format to diplay on UI. i.e. RFC1123 or 2006-01-02 15:04:05
518519
- `DEFAULT_UI_LOCATION`: Default location of time on the UI, so that we can display correct user's time on UI. i.e. Shanghai/Asia
519520

521+
## Task (`task`)
522+
523+
- `QUEUE_TYPE`: **channel**: Task queue type, could be `channel` or `redis`.
524+
- `QUEUE_LENGTH`: **1000**: Task queue length, available only when `QUEUE_TYPE` is `channel`.
525+
- `QUEUE_CONN_STR`: **addrs=127.0.0.1:6379 db=0**: Task queue connection string, available only when `QUEUE_TYPE` is `redis`. If there redis needs a password, use `addrs=127.0.0.1:6379 password=123 db=0`.
526+
520527
## Other (`other`)
521528

522529
- `SHOW_FOOTER_BRANDING`: **false**: Show Gitea branding in the footer.

docs/content/doc/advanced/config-cheat-sheet.zh-cn.md

+7
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,16 @@ IS_INPUT_FILE = false
241241
- IS_INPUT_FILE: 输入方式是最后一个参数为文件路径还是从标准输入读取。
242242

243243
## Time (`time`)
244+
244245
- `FORMAT`: 显示在界面上的时间格式。比如: RFC1123 或者 2006-01-02 15:04:05
245246
- `DEFAULT_UI_LOCATION`: 默认显示在界面上的时区,默认为本地时区。比如: Asia/Shanghai
246247

248+
## Task (`task`)
249+
250+
- `QUEUE_TYPE`: **channel**: 任务队列类型,可以为 `channel``redis`
251+
- `QUEUE_LENGTH`: **1000**: 任务队列长度,当 `QUEUE_TYPE``channel` 时有效。
252+
- `QUEUE_CONN_STR`: **addrs=127.0.0.1:6379 db=0**: 任务队列连接字符串,当 `QUEUE_TYPE``redis` 时有效。如果redis有密码,则可以 `addrs=127.0.0.1:6379 password=123 db=0`
253+
247254
## Other (`other`)
248255

249256
- `SHOW_FOOTER_BRANDING`: 为真则在页面底部显示Gitea的字样。

models/fixtures/repository.yml

+42-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
num_milestones: 3
1212
num_closed_milestones: 1
1313
num_watches: 3
14+
status: 0
1415

1516
-
1617
id: 2
@@ -24,6 +25,7 @@
2425
num_closed_pulls: 0
2526
num_stars: 1
2627
close_issues_via_commit_in_any_branch: true
28+
status: 0
2729

2830
-
2931
id: 3
@@ -36,6 +38,7 @@
3638
num_pulls: 0
3739
num_closed_pulls: 0
3840
num_watches: 0
41+
status: 0
3942

4043
-
4144
id: 4
@@ -48,6 +51,7 @@
4851
num_pulls: 0
4952
num_closed_pulls: 0
5053
num_stars: 1
54+
status: 0
5155

5256
-
5357
id: 5
@@ -61,6 +65,7 @@
6165
num_closed_pulls: 0
6266
num_watches: 0
6367
is_mirror: true
68+
status: 0
6469

6570
-
6671
id: 6
@@ -73,6 +78,7 @@
7378
num_pulls: 0
7479
num_closed_pulls: 0
7580
is_mirror: false
81+
status: 0
7682

7783
-
7884
id: 7
@@ -85,6 +91,7 @@
8591
num_pulls: 0
8692
num_closed_pulls: 0
8793
is_mirror: false
94+
status: 0
8895

8996
-
9097
id: 8
@@ -97,6 +104,7 @@
97104
num_pulls: 0
98105
num_closed_pulls: 0
99106
is_mirror: false
107+
status: 0
100108

101109
-
102110
id: 9
@@ -109,6 +117,7 @@
109117
num_pulls: 0
110118
num_closed_pulls: 0
111119
is_mirror: false
120+
status: 0
112121

113122
-
114123
id: 10
@@ -122,6 +131,7 @@
122131
num_closed_pulls: 0
123132
is_mirror: false
124133
num_forks: 1
134+
status: 0
125135

126136
-
127137
id: 11
@@ -135,6 +145,7 @@
135145
num_pulls: 0
136146
num_closed_pulls: 0
137147
is_mirror: false
148+
status: 0
138149

139150
-
140151
id: 12
@@ -147,6 +158,7 @@
147158
num_pulls: 0
148159
num_closed_pulls: 0
149160
is_mirror: false
161+
status: 0
150162

151163
-
152164
id: 13
@@ -159,6 +171,7 @@
159171
num_pulls: 0
160172
num_closed_pulls: 0
161173
is_mirror: false
174+
status: 0
162175

163176
-
164177
id: 14
@@ -172,13 +185,15 @@
172185
num_pulls: 0
173186
num_closed_pulls: 0
174187
is_mirror: false
188+
status: 0
175189

176190
-
177191
id: 15
178192
owner_id: 2
179193
lower_name: repo15
180194
name: repo15
181195
is_empty: true
196+
status: 0
182197

183198
-
184199
id: 16
@@ -191,6 +206,7 @@
191206
num_pulls: 0
192207
num_closed_pulls: 0
193208
num_watches: 0
209+
status: 0
194210

195211
-
196212
id: 17
@@ -205,6 +221,7 @@
205221
num_watches: 0
206222
is_mirror: false
207223
is_fork: false
224+
status: 0
208225

209226
-
210227
id: 18
@@ -218,6 +235,7 @@
218235
num_closed_pulls: 0
219236
is_mirror: false
220237
is_fork: false
238+
status: 0
221239

222240
-
223241
id: 19
@@ -231,6 +249,7 @@
231249
num_closed_pulls: 0
232250
is_mirror: false
233251
is_fork: false
252+
status: 0
234253

235254
-
236255
id: 20
@@ -244,6 +263,7 @@
244263
num_closed_pulls: 0
245264
is_mirror: false
246265
is_fork: false
266+
status: 0
247267

248268
-
249269
id: 21
@@ -257,6 +277,7 @@
257277
num_closed_pulls: 0
258278
is_mirror: false
259279
is_fork: false
280+
status: 0
260281

261282
-
262283
id: 22
@@ -270,6 +291,7 @@
270291
num_closed_pulls: 0
271292
is_mirror: false
272293
is_fork: false
294+
status: 0
273295

274296
-
275297
id: 23
@@ -283,6 +305,7 @@
283305
num_closed_pulls: 0
284306
is_mirror: false
285307
is_fork: false
308+
status: 0
286309

287310
-
288311
id: 24
@@ -296,6 +319,7 @@
296319
num_closed_pulls: 0
297320
is_mirror: false
298321
is_fork: false
322+
status: 0
299323

300324
-
301325
id: 25
@@ -310,6 +334,7 @@
310334
num_watches: 0
311335
is_mirror: true
312336
is_fork: false
337+
status: 0
313338

314339
-
315340
id: 26
@@ -324,6 +349,7 @@
324349
num_watches: 0
325350
is_mirror: true
326351
is_fork: false
352+
status: 0
327353

328354
-
329355
id: 27
@@ -339,6 +365,7 @@
339365
is_mirror: true
340366
num_forks: 1
341367
is_fork: false
368+
status: 0
342369

343370
-
344371
id: 28
@@ -354,6 +381,7 @@
354381
is_mirror: true
355382
num_forks: 1
356383
is_fork: false
384+
status: 0
357385

358386
-
359387
id: 29
@@ -368,6 +396,7 @@
368396
num_closed_pulls: 0
369397
is_mirror: false
370398
is_fork: true
399+
status: 0
371400

372401
-
373402
id: 30
@@ -382,6 +411,7 @@
382411
num_closed_pulls: 0
383412
is_mirror: false
384413
is_fork: true
414+
status: 0
385415

386416
-
387417
id: 31
@@ -392,6 +422,7 @@
392422
num_forks: 0
393423
num_issues: 0
394424
is_mirror: false
425+
status: 0
395426

396427
-
397428
id: 32 # org public repo
@@ -403,13 +434,15 @@
403434
num_forks: 0
404435
num_issues: 0
405436
is_mirror: false
437+
status: 0
406438

407439
-
408440
id: 33
409441
owner_id: 2
410442
lower_name: utf8
411443
name: utf8
412444
is_private: false
445+
status: 0
413446

414447
-
415448
id: 34
@@ -421,6 +454,7 @@
421454
num_forks: 0
422455
num_issues: 0
423456
is_mirror: false
457+
status: 0
424458

425459
-
426460
id: 35
@@ -432,6 +466,7 @@
432466
num_forks: 0
433467
num_issues: 0
434468
is_mirror: false
469+
status: 0
435470

436471
-
437472
id: 36
@@ -443,6 +478,7 @@
443478
num_forks: 0
444479
num_issues: 0
445480
is_mirror: false
481+
status: 0
446482

447483
-
448484
id: 37
@@ -454,6 +490,7 @@
454490
num_forks: 0
455491
num_issues: 0
456492
is_mirror: false
493+
status: 0
457494

458495
-
459496
id: 38
@@ -465,6 +502,7 @@
465502
num_forks: 0
466503
num_issues: 0
467504
is_mirror: false
505+
status: 0
468506

469507
-
470508
id: 39
@@ -476,6 +514,7 @@
476514
num_forks: 0
477515
num_issues: 0
478516
is_mirror: false
517+
status: 0
479518

480519
-
481520
id: 40
@@ -487,6 +526,7 @@
487526
num_forks: 0
488527
num_issues: 0
489528
is_mirror: false
529+
status: 0
490530

491531
-
492532
id: 41
@@ -519,4 +559,5 @@
519559
num_stars: 0
520560
num_forks: 0
521561
num_issues: 0
522-
is_mirror: false
562+
is_mirror: false
563+
status: 0

models/migrations/migrations.go

+2
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,8 @@ var migrations = []Migration{
252252
NewMigration("add repo_admin_change_team_access to user", addRepoAdminChangeTeamAccessColumnForUser),
253253
// v98 -> v99
254254
NewMigration("add original author name and id on migrated release", addOriginalAuthorOnMigratedReleases),
255+
// v99 -> v100
256+
NewMigration("add task table and status column for repository table", addTaskTable),
255257
}
256258

257259
// Migrate database to current version

0 commit comments

Comments
 (0)