This commit is contained in:
Fu Diwei 2024-11-04 10:40:41 +08:00
parent e6726e4c02
commit 2fd57621d8
2 changed files with 15 additions and 9 deletions

View File

@ -105,6 +105,9 @@ func (d *LocalDeployer) Deploy(ctx context.Context) error {
} }
d.infos = append(d.infos, toStr("保存证书成功", nil)) d.infos = append(d.infos, toStr("保存证书成功", nil))
default:
return errors.New("unsupported format")
} }
// 执行命令 // 执行命令

View File

@ -4,6 +4,7 @@ import (
"bytes" "bytes"
"context" "context"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"os" "os"
"path/filepath" "path/filepath"
@ -13,7 +14,6 @@ import (
"golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh"
"github.com/usual2970/certimate/internal/domain" "github.com/usual2970/certimate/internal/domain"
"github.com/usual2970/certimate/internal/pkg/utils/fs"
) )
type SSHDeployer struct { type SSHDeployer struct {
@ -105,11 +105,14 @@ func (d *SSHDeployer) Deploy(ctx context.Context) error {
return err return err
} }
if err := fs.WriteFile(d.option.DeployConfig.GetConfigAsString("certPath"), jksData); err != nil { if err := d.writeSftpFile(client, d.option.DeployConfig.GetConfigAsString("certPath"), jksData); err != nil {
return err return err
} }
d.infos = append(d.infos, toStr("保存证书成功", nil)) d.infos = append(d.infos, toStr("SSH 上传证书成功", nil))
default:
return errors.New("unsupported format")
} }
// 执行命令 // 执行命令
@ -156,8 +159,8 @@ func (d *SSHDeployer) createSshClient(access *domain.SSHAccess) (*ssh.Client, er
}) })
} }
func (d *SSHDeployer) sshExecCommand(client *ssh.Client, command string) (string, string, error) { func (d *SSHDeployer) sshExecCommand(sshCli *ssh.Client, command string) (string, string, error) {
session, err := client.NewSession() session, err := sshCli.NewSession()
if err != nil { if err != nil {
return "", "", xerrors.Wrap(err, "failed to create ssh session") return "", "", xerrors.Wrap(err, "failed to create ssh session")
} }
@ -175,12 +178,12 @@ func (d *SSHDeployer) sshExecCommand(client *ssh.Client, command string) (string
return stdoutBuf.String(), stderrBuf.String(), nil return stdoutBuf.String(), stderrBuf.String(), nil
} }
func (d *SSHDeployer) writeSftpFileString(client *ssh.Client, path string, content string) error { func (d *SSHDeployer) writeSftpFileString(sshCli *ssh.Client, path string, content string) error {
return d.writeSftpFile(client, path, []byte(content)) return d.writeSftpFile(sshCli, path, []byte(content))
} }
func (d *SSHDeployer) writeSftpFile(client *ssh.Client, path string, data []byte) error { func (d *SSHDeployer) writeSftpFile(sshCli *ssh.Client, path string, data []byte) error {
sftpCli, err := sftp.NewClient(client) sftpCli, err := sftp.NewClient()
if err != nil { if err != nil {
return xerrors.Wrap(err, "failed to create sftp client") return xerrors.Wrap(err, "failed to create sftp client")
} }