squadron/cmd/actions/build.go
2020-03-11 14:46:47 +01:00

36 lines
770 B
Go

package actions
import (
"fmt"
"github.com/spf13/cobra"
)
var cmdBuild = &cobra.Command{
Use: "build [SERVICE] -t {TAG}",
Short: "Build a service with a given tag",
Args: cobra.MinimumNArgs(1),
Run: func(cmd *cobra.Command, args []string) {
_, err := Build(args[0], FlagTag, FlagDir, FlagVerbose)
if err != nil {
log.Fatal(err)
}
},
}
func init() {
rootCmd.AddCommand(cmdBuild)
}
func Build(service, tag, dir string, flagVerbose bool) (string, error) {
svc, err := cnf.Service(service)
if err != nil {
return "", fmt.Errorf("service not found: %v", err)
}
output, err := svc.RunBuild(log, dir, tag, flagVerbose)
if err != nil {
return "", fmt.Errorf("could not build service: %v output:\n%v", svc.Name, output)
}
return output, nil
}