hugo-cms/providers/netlify/provider.go
2025-01-27 21:48:40 +11:00

30 lines
614 B
Go

package netlify
import (
"context"
"fmt"
"lmika.dev/lmika/hugo-cms/models"
"os"
"os/exec"
)
type Provider struct {
authToken string
}
func New(authToken string) *Provider {
return &Provider{
authToken: authToken,
}
}
func (p *Provider) Publish(ctx context.Context, target models.PublishTarget, dir string) error {
cmd := exec.CommandContext(ctx, "netlify", "deploy", "--dir", dir, "--prod")
cmd.Env = append(os.Environ(),
fmt.Sprintf("NETLIFY_SITE_ID=%v", target.TargetRef),
fmt.Sprintf("NETLIFY_AUTH_TOKEN=%v", p.authToken))
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
return cmd.Run()
}