[ Project ] 适配前端部分代码
This commit is contained in:
@@ -69,13 +69,17 @@ func PipeLineCommandExecutor(pipeLineCommand [][]string) ([]string, error) {
|
||||
|
||||
var output []byte
|
||||
var err error
|
||||
|
||||
for i, command := range pipeLineCommand {
|
||||
|
||||
cmd := exec.Command(command[0], command[1:]...)
|
||||
cmd.Stdin = bytes.NewReader(output)
|
||||
|
||||
output, err = cmd.Output()
|
||||
if err != nil {
|
||||
return strings.Split(string(output), "\n"), err
|
||||
}
|
||||
|
||||
if i == len(pipeLineCommand)-1 {
|
||||
return strings.Split(string(output), "\n"), nil
|
||||
}
|
||||
|
||||
80
agent-go/executor/InitFunction.go
Normal file
80
agent-go/executor/InitFunction.go
Normal file
@@ -0,0 +1,80 @@
|
||||
package executor
|
||||
|
||||
import "strings"
|
||||
|
||||
func BuildAgentOsOperator(osInfo string) *AgentOsOperator {
|
||||
|
||||
AgentOsOperatorCache = &AgentOsOperator{
|
||||
InstallCommandPrefix: []string{
|
||||
"apt-get", "install", "-y",
|
||||
},
|
||||
RemoveCommandPrefix: []string{"apt", "remove", "-y"},
|
||||
CanAccessInternet: true,
|
||||
IsOsTypeUbuntu: true,
|
||||
IsAgentInnerWall: true,
|
||||
AgentArch: "amd64",
|
||||
AgentOSReleaseCode: "focal",
|
||||
AgentServerInfo: nil,
|
||||
}
|
||||
|
||||
// os type
|
||||
detectByOsType(AgentOsOperatorCache, osInfo)
|
||||
|
||||
// internet
|
||||
detectByInternet(AgentOsOperatorCache)
|
||||
|
||||
return AgentOsOperatorCache
|
||||
}
|
||||
|
||||
func detectByOsType(os *AgentOsOperator, osInfo string) {
|
||||
|
||||
ubuntuSsRealseCode := [][]string{
|
||||
{
|
||||
"cat",
|
||||
"/etc/os-release",
|
||||
},
|
||||
{
|
||||
"grep",
|
||||
"CODE",
|
||||
},
|
||||
{
|
||||
"head",
|
||||
"-1",
|
||||
},
|
||||
{
|
||||
"cut",
|
||||
"-d",
|
||||
"=",
|
||||
"-f",
|
||||
"2",
|
||||
},
|
||||
}
|
||||
|
||||
if strings.HasPrefix(osInfo, "Ce") {
|
||||
// centos
|
||||
os.IsOsTypeUbuntu = false
|
||||
os.InstallCommandPrefix = []string{
|
||||
"yum", "install", "-y",
|
||||
}
|
||||
os.RemoveCommandPrefix = []string{
|
||||
"yum", "remove",
|
||||
}
|
||||
|
||||
} else {
|
||||
// ubuntu
|
||||
os.IsOsTypeUbuntu = true
|
||||
os.RemoveCommandPrefix = []string{"apt", "remove", "-y"}
|
||||
os.InstallCommandPrefix = []string{
|
||||
"apt-get", "install", "-y",
|
||||
}
|
||||
|
||||
// os release code
|
||||
osRealseResult, _ := PipeLineCommandExecutor(ubuntuSsRealseCode)
|
||||
os.AgentOSReleaseCode = osRealseResult[0]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func detectByInternet(os *AgentOsOperator) {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user