在jenkins怎么远程调用ansible-playbook?

来源:5-8 Jenkins pipeline job实战 - 编写playbook脚本实现WordPress远程部署

zac707

2019-08-23

现在想用 ansible 来编排 多tomcat或者docker,但是现在jenkins和ansible不在同一台服务器部署,jenkins 远程调用服务器上 ansible-playbook 怎么弄?

写回答

2回答

一路向北

2019-08-23

感谢这位同学的关注,最简单的办法可以利用ssh免密码秘钥认证配合执行ansible-playbook
举一个简单例子:
1.将你的jenkins作为ssh客户端 去连接你的ssh服务端, 这个服务端也是你的ansible服务器
2.做一个jenkins到ansible的ssh秘钥认证,这个认证和jenkins与ansible的配置无关,只是在系统层面做一个root账号免密码登录.
3.假定你的ansible服务端域名为ansible.example.com, 执行 ssh root@ansibile.example.com ansible-playbook xxxx
即可利用ssh远程调用ansible命令执行你的部署

1
2
一路向北
回复
zac707
ssh后面的三条Python命令中间用&&连接起来
2019-08-25
共2条回复

zac707

提问者

2019-08-24

好像python和ansible环境变量执行找不到

0
1
林哥哥家的张妹妹
解决了么 Pseudo-terminal will not be allocated because stdin is not a terminal. 好像是这个问题我也是这么连接的
2022-03-17
共1条回复

Jenkins+Ansible+Gitlab-三剑合璧掌握自动化部署

整合三大工具解决自动化部署&持续交付问题

1290 学习 · 319 问题

查看课程