Jenkins Python 自动添加机器到 jenkins 节点

laofo · 2017年06月23日 · 最后由 pasey@163.com 回复于 2018年01月21日 · 49 次阅读
#!python

import jenkins


# create node with parameters
params = {
    'port': '22',
    'username': 'root',
    'credentialsId': '6c537fe9-57c6-431e-af86-c4886d8e8b6f',
    'host': '10.95.120.225'
}


if __name__ == '__main__':
    server = jenkins.Jenkins('http://jenkins.scmroad.com', username='user', password='passwd')
    user = server.get_whoami()

    slaveName = "abc-salve4"
    #server.create_node(slaveName)
    server.create_node(
            slaveName,
            nodeDescription='my test slave',
            remoteFS='/root/jenkins',
            labels='precise',
            exclusive=True,
            launcher=jenkins.LAUNCHER_SSH,
            launcher_params=params)

    node_config = server.get_node_info(slaveName)
    print node_config
    server.disable_node(slaveName)
    server.enable_node(slaveName)

创建个容器后,就可以利用这段把这个容器变成 jenkins slave ,加到 jenkins 节点里

运行之前要装 python-jenkins 这个库

pip install python-jenkins

下面要做的工作就是自动创建个 job,然后把这个 job 关联到上面的节点

现在软件行业发展太快了,特别是框架设计与理念转变后,单一工具优化与升级已无法产生大环境提升,特别是 jenkins2.0 和工具链的提出,促进了 devops 整体发展,这一套内容不是一个或几个 CM 所能做好的,更侧重于开发、测试、度量、SE 等各方人员参与和上层有效框架设计。 所以现在 CM 的工作不再是围一个配置项转,而是参与产品价值提升(准确、高效、安全)——自我价值体现工作了。

需要 登录 后方可回复。