diff --git a/app/cmd/config.go b/app/cmd/config.go index 5166cc7eaeb7aba0078f427d95d830a7efef60ad..c4098c480343df1308f28e12128d9fb0bb85c2a8 100644 --- a/app/cmd/config.go +++ b/app/cmd/config.go @@ -65,6 +65,7 @@ var configCmd = &cobra.Command{ if configOptions.Generate { if data, err := generateSampleConfig(); err == nil { fmt.Print(string(data)) + fmt.Printf("# Goto 'http://localhost:8080/jenkins/me/configure', then you can generate your token.") } else { log.Fatal(err) } @@ -203,11 +204,14 @@ func removeJenkins(name string) (err error) { return } -func loadDefaultConfig() { +func loadDefaultConfig() (err error) { userHome := userHomeDir() - if err := loadConfig(fmt.Sprintf("%s/.jenkins-cli.yaml", userHome)); err != nil { - log.Fatalf("error: %v", err) + configPath := fmt.Sprintf("%s/.jenkins-cli.yaml", userHome) + if _, err = os.Stat(configPath); err == nil { + err = loadConfig(configPath) } + + return } func loadConfig(path string) (err error) { diff --git a/app/cmd/root.go b/app/cmd/root.go index 9bb839fccea49deb891860d71e107e92d76b1284..543df7400bc87d5c9e21fae2acc2f0aceeb409ab 100644 --- a/app/cmd/root.go +++ b/app/cmd/root.go @@ -2,6 +2,7 @@ package cmd import ( "fmt" + "log" "os" "github.com/linuxsuren/jenkins-cli/app" @@ -51,5 +52,12 @@ func init() { } func initConfig() { - loadDefaultConfig() + if err := loadDefaultConfig(); err != nil { + if os.IsNotExist(err) { + log.Printf("No config file found.") + return + } + + log.Fatalf("Config file is invalid: %v", err) + } }