前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins实践文档-Jenkins集成SaltStack

Jenkins实践文档-Jenkins集成SaltStack

作者头像
DevOps云学堂
发布2019-10-18 19:10:38
1.5K0
发布2019-10-18 19:10:38
举报
文章被收录于专栏:DevOps持续集成DevOps持续集成

1. 安装saltstack

  • saltstack原理详细可以参考saltstack官方文档

1.1 安装salt-master(jenkins)

代码语言:javascript
复制
yum -y install salt-master
service salt-master start
chkconfig salt-master on

1.2 安装salt-minion(应用发布机器)

代码语言:javascript
复制
yum -y install salt-minion
service salt-minion start
chkconfig salt-minion on

#编辑/etc/salt/minion 文件填写对应的master地址
master: 192.168.0.41

#在master节点上认证客户端
salt-key -L 
salt-key -a clientName

1.3 安装salt-api(Jenkins)

代码语言:javascript
复制
yum -y install salt-api
service salt-api start
chkconfig salt-api on

#添加用于操作api的系统用户
useradd saltapi
passwd saltapi 

#编辑/etc/salt/master 
file_roots:    #允许使用salt发布文件
  base:
    - /srv/salt
rest_cherrypy:  #以下是saltapi配置
  port: 9000
  disable_ssl: True
  debug: True
external_auth:  
  pam:  
    saltapi:  
      - .*  
      - '@wheel'  
      - '@runner'

service salt-master restart 
service salt-api start 

1.4 测试

代码语言:javascript
复制
curl http://127.0.0.1:9000/login -d username='saltapi' -d password='123456' -d eauth='pam'
  • 返回token则成功

2. 集成Jenkins

2.1 测试salt(saltapi方式)

  • 安装saltstack插件
  • 生成Jenkinfile方法(项目->Pipeline Syntax->片段生成器)
  • Jenkinsfile实例
代码语言:javascript
复制
#!groovy

//构建参数
String targetHosts = "${env.targetHosts}"

//saltapi模板
def Salt(salthost,saltfunc,saltargs) {
    result = salt(authtype: 'pam', 
                clientInterface: local( arguments: saltargs,
                                        function: saltfunc, 
                                        target: salthost, 
                                        targettype: 'list'),
                credentialsId: "f89abde3-49f0-4b75-917e-c4e49c483f4f", 
                servername: "http://0.0.0.0:9000")
   
    println(result)
    PrintMes(result,'blue')
    return  result
}

node("master"){
    stage("Deploy"){
        Salt("${targetHosts}","cmd.run","ls")
    }

}

2.2 测试salt(cmd方式)

  • Jenkinsfile
代码语言:javascript
复制
node {
   stage("Deploy"){
       sh "salt * test.ping"
   }
}
  • 构建测试
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps持续集成 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装saltstack
    • 1.1 安装salt-master(jenkins)
      • 1.2 安装salt-minion(应用发布机器)
        • 1.3 安装salt-api(Jenkins)
          • 1.4 测试
          • 2. 集成Jenkins
            • 2.1 测试salt(saltapi方式)
              • 2.2 测试salt(cmd方式)
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档