mirror of
				https://github.com/appleboy/drone-ssh.git
				synced 2025-10-29 00:51:15 +08:00 
			
		
		
		
	feat: support username flag.
This commit is contained in:
		
							parent
							
								
									7871a8e9f5
								
							
						
					
					
						commit
						9ec4e989c8
					
				
							
								
								
									
										6
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								main.go
									
									
									
									
									
								
							| @ -36,9 +36,9 @@ func main() { | ||||
| 			EnvVar: "PLUGIN_KEY_PATH,SSH_KEY_PATH", | ||||
| 		}, | ||||
| 		cli.StringFlag{ | ||||
| 			Name:   "user,u", | ||||
| 			Name:   "username,user,u", | ||||
| 			Usage:  "connect as user", | ||||
| 			EnvVar: "PLUGIN_USER,SSH_USER", | ||||
| 			EnvVar: "PLUGIN_USERNAME,PLUGIN_USER,SSH_USERNAME", | ||||
| 			Value:  "root", | ||||
| 		}, | ||||
| 		cli.StringFlag{ | ||||
| @ -118,7 +118,7 @@ func run(c *cli.Context) error { | ||||
| 		Config: Config{ | ||||
| 			Key:      c.String("ssh-key"), | ||||
| 			KeyPath:  c.String("key-path"), | ||||
| 			User:     c.String("user"), | ||||
| 			UserName: c.String("user"), | ||||
| 			Password: c.String("password"), | ||||
| 			Host:     c.StringSlice("host"), | ||||
| 			Port:     c.Int("port"), | ||||
|  | ||||
| @ -23,7 +23,7 @@ type ( | ||||
| 	Config struct { | ||||
| 		Key      string | ||||
| 		KeyPath  string | ||||
| 		User     string | ||||
| 		UserName string | ||||
| 		Password string | ||||
| 		Host     []string | ||||
| 		Port     int | ||||
| @ -43,7 +43,7 @@ func (p Plugin) log(host string, message ...interface{}) { | ||||
| 
 | ||||
| // Exec executes the plugin.
 | ||||
| func (p Plugin) Exec() error { | ||||
| 	if len(p.Config.Host) == 0 && p.Config.User == "" { | ||||
| 	if len(p.Config.Host) == 0 && p.Config.UserName == "" { | ||||
| 		return fmt.Errorf(missingHostOrUser) | ||||
| 	} | ||||
| 
 | ||||
| @ -59,7 +59,7 @@ func (p Plugin) Exec() error { | ||||
| 			// Create MakeConfig instance with remote username, server address and path to private key.
 | ||||
| 			ssh := &easyssh.MakeConfig{ | ||||
| 				Server:   host, | ||||
| 				User:     p.Config.User, | ||||
| 				User:     p.Config.UserName, | ||||
| 				Password: p.Config.Password, | ||||
| 				Port:     strconv.Itoa(p.Config.Port), | ||||
| 				Key:      p.Config.Key, | ||||
|  | ||||
| @ -6,20 +6,20 @@ import ( | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| ) | ||||
| 
 | ||||
| func TestMissingHostOrUser(t *testing.T) { | ||||
| func TestMissingHostOrUserName(t *testing.T) { | ||||
| 	plugin := Plugin{} | ||||
| 
 | ||||
| 	err := plugin.Exec() | ||||
| 
 | ||||
| 	assert.NotNil(t, err) | ||||
| 	assert.Equal(t, missingHostOrUser, err.Error()) | ||||
| 	assert.Equal(t, missingHostOrUserName, err.Error()) | ||||
| } | ||||
| 
 | ||||
| func TestMissingKeyOrPassword(t *testing.T) { | ||||
| 	plugin := Plugin{ | ||||
| 		Config{ | ||||
| 			Host:     []string{"localhost"}, | ||||
| 			User: "ubuntu", | ||||
| 			UserName: "ubuntu", | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
| @ -33,7 +33,7 @@ func TestIncorrectPassword(t *testing.T) { | ||||
| 	plugin := Plugin{ | ||||
| 		Config: Config{ | ||||
| 			Host:     []string{"localhost"}, | ||||
| 			User:     "drone-scp", | ||||
| 			UserName: "drone-scp", | ||||
| 			Port:     22, | ||||
| 			Password: "123456", | ||||
| 			Script:   []string{"whoami"}, | ||||
| @ -48,7 +48,7 @@ func TestSSHScriptFromRawKey(t *testing.T) { | ||||
| 	plugin := Plugin{ | ||||
| 		Config: Config{ | ||||
| 			Host:     []string{"localhost"}, | ||||
| 			User: "drone-scp", | ||||
| 			UserName: "drone-scp", | ||||
| 			Port:     22, | ||||
| 			Key: `-----BEGIN RSA PRIVATE KEY----- | ||||
| MIIEpAIBAAKCAQEA4e2D/qPN08pzTac+a8ZmlP1ziJOXk45CynMPtva0rtK/RB26 | ||||
| @ -90,7 +90,7 @@ func TestSSHScriptFromKeyFile(t *testing.T) { | ||||
| 	plugin := Plugin{ | ||||
| 		Config: Config{ | ||||
| 			Host:     []string{"localhost", "127.0.0.1"}, | ||||
| 			User:    "drone-scp", | ||||
| 			UserName: "drone-scp", | ||||
| 			Port:     22, | ||||
| 			KeyPath:  "./tests/.ssh/id_rsa", | ||||
| 			Script:   []string{"whoami", "ls -al"}, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Bo-Yi Wu
						Bo-Yi Wu