Add production Docker deployment
Amp-Thread-ID: https://ampcode.com/threads/T-01a02485-5574-707c-bff4-5668d83bee8a Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
This commit is contained in:
+24
-3
@@ -25,10 +25,17 @@ func run() error {
|
||||
return err
|
||||
}
|
||||
|
||||
log.Print("building core and handles packages")
|
||||
packages, err := buildPackages(root)
|
||||
packageDirectory := os.Getenv("YAWN_PACKAGES")
|
||||
var packages map[string]memoryAsset
|
||||
if packageDirectory == "" {
|
||||
log.Print("building core and handles packages")
|
||||
packages, err = buildPackages(root)
|
||||
} else {
|
||||
log.Printf("loading prebuilt packages from %s", packageDirectory)
|
||||
packages, err = loadPackages(packageDirectory)
|
||||
}
|
||||
if err != nil {
|
||||
return fmt.Errorf("build packages: %w", err)
|
||||
return fmt.Errorf("prepare packages: %w", err)
|
||||
}
|
||||
log.Printf("loaded %d package assets into memory", len(packages))
|
||||
|
||||
@@ -84,6 +91,20 @@ func run() error {
|
||||
}
|
||||
|
||||
func repositoryRoot() (string, error) {
|
||||
if configured := os.Getenv("YAWN_ROOT"); configured != "" {
|
||||
root, err := filepath.Abs(configured)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
info, err := os.Stat(root)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if !info.IsDir() {
|
||||
return "", fmt.Errorf("YAWN_ROOT is not a directory: %s", root)
|
||||
}
|
||||
return root, nil
|
||||
}
|
||||
directory, err := os.Getwd()
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
||||
Reference in New Issue
Block a user