commit
						97170916a3
					
				
							
								
								
									
										10
									
								
								cmd/web.go
								
								
								
								
							
							
						
						
									
										10
									
								
								cmd/web.go
								
								
								
								
							| 
						 | 
					@ -60,6 +60,11 @@ and it takes care of all the other things for you`,
 | 
				
			||||||
			Value: "custom/conf/app.ini",
 | 
								Value: "custom/conf/app.ini",
 | 
				
			||||||
			Usage: "Custom configuration file path",
 | 
								Usage: "Custom configuration file path",
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							cli.StringFlag{
 | 
				
			||||||
 | 
								Name:  "pid, P",
 | 
				
			||||||
 | 
								Value: "custom/run/app.pid",
 | 
				
			||||||
 | 
								Usage: "Custom pid file path",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -156,6 +161,11 @@ func runWeb(ctx *cli.Context) error {
 | 
				
			||||||
	if ctx.IsSet("config") {
 | 
						if ctx.IsSet("config") {
 | 
				
			||||||
		setting.CustomConf = ctx.String("config")
 | 
							setting.CustomConf = ctx.String("config")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if ctx.IsSet("pid") {
 | 
				
			||||||
 | 
							setting.CustomPID = ctx.String("pid")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	routers.GlobalInit()
 | 
						routers.GlobalInit()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	m := newMacaron()
 | 
						m := newMacaron()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -392,6 +392,7 @@ var (
 | 
				
			||||||
	Cfg          *ini.File
 | 
						Cfg          *ini.File
 | 
				
			||||||
	CustomPath   string // Custom directory path
 | 
						CustomPath   string // Custom directory path
 | 
				
			||||||
	CustomConf   string
 | 
						CustomConf   string
 | 
				
			||||||
 | 
						CustomPID    string
 | 
				
			||||||
	ProdMode     bool
 | 
						ProdMode     bool
 | 
				
			||||||
	RunUser      string
 | 
						RunUser      string
 | 
				
			||||||
	IsWindows    bool
 | 
						IsWindows    bool
 | 
				
			||||||
| 
						 | 
					@ -471,6 +472,22 @@ func IsRunUserMatchCurrentUser(runUser string) (string, bool) {
 | 
				
			||||||
	return currentUser, runUser == currentUser
 | 
						return currentUser, runUser == currentUser
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func createPIDFile(pidPath string) {
 | 
				
			||||||
 | 
						currentPid := os.Getpid()
 | 
				
			||||||
 | 
						if err := os.MkdirAll(filepath.Dir(pidPath), os.ModePerm); err != nil {
 | 
				
			||||||
 | 
							log.Fatal(4, "Can't create PID folder on %s", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						file, err := os.Create(pidPath)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							log.Fatal(4, "Can't create PID file: %v", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						defer file.Close()
 | 
				
			||||||
 | 
						if _, err := file.WriteString(strconv.FormatInt(int64(currentPid), 10)); err != nil {
 | 
				
			||||||
 | 
							log.Fatal(4, "Can'write PID information on %s", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// NewContext initializes configuration context.
 | 
					// NewContext initializes configuration context.
 | 
				
			||||||
// NOTE: do not print any log except error.
 | 
					// NOTE: do not print any log except error.
 | 
				
			||||||
func NewContext() {
 | 
					func NewContext() {
 | 
				
			||||||
| 
						 | 
					@ -498,6 +515,12 @@ please consider changing to GITEA_CUSTOM`)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if len(CustomPID) == 0 {
 | 
				
			||||||
 | 
							CustomPID = CustomPath + "/run/app.pid"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						createPIDFile(CustomPID)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if len(CustomConf) == 0 {
 | 
						if len(CustomConf) == 0 {
 | 
				
			||||||
		CustomConf = CustomPath + "/conf/app.ini"
 | 
							CustomConf = CustomPath + "/conf/app.ini"
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue