Giter Site home page Giter Site logo

devops's Introduction

做这个devOps是为了什么?

首先这个仅仅是个日常运维小工具,主要是方便开发人员用自己擅长的代码去处理常用的命令及操作。

devOps都用了什么?

  • github.com/bndr/gojenkins
  • mysqldump
  • expect
  • RDS_for_docker 用docker还原RDS物理备份 「查看详情
  • elasticsearch 基础操作

devOps有哪些功能?

  • jenkins build job
jenkinsConn, err := devOps.CreateJenkinsConn(
    "http://jenkins.local.com/",
    "admin",
    "111111")
if err != nil {
    return
}
//build
err = jenkinsConn.BuildJobWithGitParam(
    "testJenkinsApi",
    "any",
    "v1.0.201909111800")
if err != nil {
    return
}
  • scp 拉取文件
scpInfo := devOps.NewScpInfo()
scpInfo.Host = "172.16.0.225"
scpInfo.Port = 22
scpInfo.User = "jjc"
scpInfo.Password = "1"
scpInfo.ReadFilePath = "~/abc"
scpInfo.LocalSaveFilePath = fmt.Sprintf("/data/%d", time.Now().UnixNano())
scpInfo.Do()
  • ssh 执行命令
sshClient := devOps.NewSSHClient()
sshClient.User = "jjc"
sshClient.Password = "1"
sshClient.Host = "172.16.0.225"
sshClient.Port = 22

err := sshClient.SSHConnect()
defer sshClient.Close()
if err != nil {
    panic(err)
}

var stdOut, stdErr bytes.Buffer
//设置输出内容
sshClient.StdOut(&stdOut)
sshClient.StdErr(&stdErr)
//执行cmd
err = sshClient.DoCmd("ls -ll")
if err != nil {
    panic(err)
}
fmt.Println("stdOut:", stdOut.String())

fmt.Println("stdErr:", stdErr.String())
  • mysqldump备份指定表
dumper := devOps.NewDumper()
dumper.Host = "172.16.0.225"
dumper.User = "root"
dumper.Password = "root"
dumper.MysqlDumpPath = "mysqldump"
dumper.Database = "xxxxdatabas"
dumper.SavePath = fmt.Sprintf("/data/%d", time.Now().UnixNano())
dumper.TableNameList = []string{"a", "company"}
dumper.Do()
  • docker swarm http api
os.Setenv("DOCKER_HOST", "http://172.16.0.228:2375")
os.Setenv("DOCKER_API_VERSION", "1.39")
swarmCli, err := devOps.NewSwarmCli()
if err != nil{
    t.Error(err)
}
//创建一个network
res, err := swarmCli.CreateSwarmNetwork("test123123")
if err != nil{
    t.Error(err)
}

devops's People

Contributors

lvxin0315 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.