import jenkins

server = jenkins.Jenkins('http://localhost/jenkins', username='username', password='password')
# 通过参数创建一个node, 需要先将Credentials创建好
# 设置登录参数值
params = {
    'port': '22',
    'username': 'root',
    'credentialsId': '216586c1-68a4-4daf-8677-bc1971b8f95e',
    'host': '192.168.230.131'
}
# 创建node 
server.create_node(
    name='192.168.230.131',  # name
    nodeDescription='192.168.230.131',  # 描述
    remoteFS='/var/build/workspace',  # 工作目录
    labels='230.131',   # 标签
    exclusive=True,  # 用法
    launcher=jenkins.LAUNCHER_SSH,   # 启用方法
    launcher_params=params)

如果配置都正确,在jenkins里面就会看到创建的节点:


# 获取node信息offline, name字段
nodes = server.get_nodes()
for node in nodes:
    print node
{'offline': False, 'name': u'master'}
{'offline': False, 'name': u'192.168.230.131'}
{'offline': True, 'name': u'slave1'}
 
# 启用/禁用/删除指定的node
server.disable_node('192.168.230.131')
server.enable_node('192.168.230.131')
server.delete_node('192.168.230.131')
 
# 判断node是否存在
try:
    server.assert_node_exists('node2', exception_message='node %s does not exist.......')
except jenkins.JenkinsException, e:
    print e

print server.node_exists('node2')  # 存在为True否则None
 
node node2 does not exist.......
False

server.get_nodes()  # 所有node的信息
[{'offline': False, 'name': u'master'}, 
{'offline': False, 'name': u'192.168.230.131'}, 
{'offline': True, 'name': u'slave1'}]
# node信息
nodes = server.get_nodes()  # 所有node的信息
server.get_node_config('192.168.230.131')

# 指定node的信息(内存、swap、workspace、diskspace等
node_info = server.get_node_info('192.168.230.131')


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐