-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into fix-12440-prevent-panic-on-git-blame
- Loading branch information
Showing
24 changed files
with
348 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
date: "2020-03-19T19:27:00+02:00" | ||
title: "Install on Kubernetes" | ||
slug: "install-on-kubernetes" | ||
weight: 10 | ||
toc: true | ||
draft: false | ||
menu: | ||
sidebar: | ||
parent: "installation" | ||
name: "Kubernetes" | ||
weight: 50 | ||
identifier: "install-on-kubernetes" | ||
--- | ||
|
||
# Installation with Helm (on Kubernetes) | ||
|
||
Gitea provides a Helm Chart to allow for installation on kubernetes. | ||
|
||
A non-customized install can be done with: | ||
|
||
``` | ||
helm repo add gitea-charts https://dl.gitea.io/charts/ | ||
helm install gitea gitea-charts/gitea | ||
``` | ||
|
||
If you would like to customize your install, which includes kubernetes ingress, please refer to the complete [Gitea helm chart configuration details](https://gitea.com/gitea/helm-chart/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
// Copyright 2020 The Gitea Authors. All rights reserved. | ||
// Use of this source code is governed by a MIT-style | ||
// license that can be found in the LICENSE file. | ||
|
||
package migrations | ||
|
||
import ( | ||
"fmt" | ||
"strconv" | ||
|
||
"code.gitea.io/gitea/modules/log" | ||
"code.gitea.io/gitea/modules/setting" | ||
|
||
"xorm.io/xorm" | ||
) | ||
|
||
func updateCodeCommentReplies(x *xorm.Engine) error { | ||
type Comment struct { | ||
ID int64 `xorm:"pk autoincr"` | ||
CommitSHA string `xorm:"VARCHAR(40)"` | ||
Patch string `xorm:"TEXT patch"` | ||
Invalidated bool | ||
|
||
// Not extracted but used in the below query | ||
Type int `xorm:"INDEX"` | ||
Line int64 // - previous line / + proposed line | ||
TreePath string | ||
ReviewID int64 `xorm:"index"` | ||
} | ||
|
||
if err := x.Sync2(new(Comment)); err != nil { | ||
return err | ||
} | ||
|
||
sqlSelect := `SELECT comment.id as id, first.commit_sha as commit_sha, first.patch as patch, first.invalidated as invalidated` | ||
sqlTail := ` FROM comment INNER JOIN ( | ||
SELECT C.id, C.review_id, C.line, C.tree_path, C.patch, C.commit_sha, C.invalidated | ||
FROM comment AS C | ||
WHERE C.type = 21 | ||
AND C.created_unix = | ||
(SELECT MIN(comment.created_unix) | ||
FROM comment | ||
WHERE comment.review_id = C.review_id | ||
AND comment.type = 21 | ||
AND comment.line = C.line | ||
AND comment.tree_path = C.tree_path) | ||
) AS first | ||
ON comment.review_id = first.review_id | ||
AND comment.tree_path = first.tree_path AND comment.line = first.line | ||
WHERE comment.type = 21 | ||
AND comment.id != first.id | ||
AND comment.commit_sha != first.commit_sha` | ||
|
||
var sqlCmd string | ||
var start = 0 | ||
var batchSize = 100 | ||
sess := x.NewSession() | ||
defer sess.Close() | ||
for { | ||
if err := sess.Begin(); err != nil { | ||
return err | ||
} | ||
|
||
if setting.Database.UseMSSQL { | ||
if _, err := sess.Exec(sqlSelect + " INTO #temp_comments" + sqlTail); err != nil { | ||
log.Error("unable to create temporary table") | ||
return err | ||
} | ||
} | ||
|
||
var comments = make([]*Comment, 0, batchSize) | ||
|
||
switch { | ||
case setting.Database.UseMySQL: | ||
sqlCmd = sqlSelect + sqlTail + " LIMIT " + strconv.Itoa(batchSize) + ", " + strconv.Itoa(start) | ||
case setting.Database.UsePostgreSQL: | ||
fallthrough | ||
case setting.Database.UseSQLite3: | ||
sqlCmd = sqlSelect + sqlTail + " LIMIT " + strconv.Itoa(batchSize) + " OFFSET " + strconv.Itoa(start) | ||
case setting.Database.UseMSSQL: | ||
sqlCmd = "SELECT TOP " + strconv.Itoa(batchSize) + " * FROM #temp_comments WHERE " + | ||
"(id NOT IN ( SELECT TOP " + strconv.Itoa(start) + " id FROM #temp_comments ORDER BY id )) ORDER BY id" | ||
default: | ||
return fmt.Errorf("Unsupported database type") | ||
} | ||
|
||
if err := sess.SQL(sqlCmd).Find(&comments); err != nil { | ||
log.Error("failed to select: %v", err) | ||
return err | ||
} | ||
|
||
for _, comment := range comments { | ||
if _, err := sess.Table("comment").ID(comment.ID).Cols("commit_sha", "patch", "invalidated").Update(comment); err != nil { | ||
log.Error("failed to update comment[%d]: %v %v", comment.ID, comment, err) | ||
return err | ||
} | ||
} | ||
|
||
start += len(comments) | ||
|
||
if err := sess.Commit(); err != nil { | ||
return err | ||
} | ||
if len(comments) < batchSize { | ||
break | ||
} | ||
} | ||
|
||
return nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.