公司ARES studio 自动上传编译启动服务工具

来源:互联网 发布:seo前景如何 编辑:程序博客网 时间:2024/05/23 15:56

公司ARES studio 自动上传编译启动服务工具

//在执行文件中// conf//  |--app.conf//   monitor.exe//  app.conf中的内容//  command="ls -l"//  monitordir ="c:\\test"//  在windows下会执行两次// https://github.com/howeyc/fsnotify/issues/106package mainimport (    "fmt"    "os/exec"    "strings"    "time"    "github.com/astaxie/beego")func mkcmd(command string, logflag int) error {    argArray := strings.Split(command, " ")    cmd := exec.Command(argArray[0], argArray[1:]...)    //buff, err := cmd.Output() //不要用这个,否则不能捕捉到错误的信息    buff, err := cmd.CombinedOutput()    if logflag == 1 {        fmt.Println(string(buff))    }    if err != nil {        return err    }    return nil}func echoinfo() {    var echo string    for i := 0; i < 50; i++ {        echo = echo + "="    }    fmt.Println(echo)    fmt.Println()}func main() {    command := beego.AppConfig.String("command")    echoinfo()    fmt.Println("upload begin, please waiting .... !")    fmt.Println(command)    if error := mkcmd(command, 0); error != nil {        fmt.Printf("updown files %s", error)        return    }    fmt.Println("upload end ... !")    echoinfo()    fmt.Println("clear log begin ... !")    clearlog := beego.AppConfig.String("clearlog")    fmt.Println(clearlog)    if error := mkcmd(clearlog, 1); error != nil {        fmt.Printf("compile files %s", error)        return    }    fmt.Println("clear log end ... !")    echoinfo()    fmt.Println("compile begin ... !")    compile := beego.AppConfig.String("compile")    fmt.Println(compile)    if error := mkcmd(compile, 1); error != nil {        fmt.Printf("compile files %s", error)        return    }    fmt.Println("compile end ... !")    echoinfo()    fmt.Println("allstop begin ... !")    stopservice := beego.AppConfig.String("stopservice")    fmt.Println(stopservice)    for i := 0; i < 2; i++ {        if error := mkcmd(stopservice, 1); error != nil {            fmt.Printf("stopservice %s", error)            return        }    }    fmt.Println("stopservice end ... !")    time.Sleep(2 * time.Second)    echoinfo()    fmt.Println("startservice begin ... !")    startservice := beego.AppConfig.String("startservice")    fmt.Println(startservice)    if error := mkcmd(startservice, 1); error != nil {        fmt.Printf("startservice %s", error)        return    }    fmt.Println("startservice end ... !")}

配置文件

command=”pscp.exe -P 22 -pw cloudta F:\yunta\TA* cloudta@192.168.224.128:/home/cloudta/dev/src/”

PASSWORD=”cloudta”
USERNAME=”cloudta”
REMOTEIP=”192.168.224.128”

#make.sh
#source /home/cloudta/.bash_profile
#cd /home/cloudta/dev/src 一定要进入这个目录才行
#sh +x makeall
clearlog=plink -v -ssh -P 22 -pw cloudta cloudta@192.168.224.128 /home/cloudta/workspace/dlog/clear.sh

compile=”plink -v -ssh -P 22 -pw cloudta cloudta@192.168.224.128 /home/cloudta/dev/src/make.sh”

stopservice=”plink -v -ssh -P 22 -pw cloudta cloudta@192.168.224.128 /home/cloudta/workspace/allstop.sh”
startservice=”plink -v -ssh -P 22 -pw cloudta cloudta@192.168.224.128 /home/cloudta/workspace/allstart.sh”

远程makefile

source /home/cloudta/.bash_profilecd /home/cloudta/dev/src #一定要指定进入这个目录,否则不能编译sh +x makeall

清除日志sh

cd /home/cloudta/workspace/dlog;for file_a in *; do      filename=`basename $file_a`      if [ $filename != "clear.sh" ] ; then   echo "" > $filename ;   fidone   
0 0
原创粉丝点击