当前位置:网站首页>How to run jenkins build, in multiple servers with ssh-key
How to run jenkins build, in multiple servers with ssh-key
2022-06-30 21:10:00 【weixin_ eight hundred and eighty-eight thousand nine hundred an】
Trying to figure out how can I run a Jenkins build on multiple servers with my ssh-key connection.
For now I used SSH remote host plugin, but this plugin is good for 1,2,3,4.. servers and not for 100+.
I googleit and I found that many people offer a solution to use Ansible but i have no experience in ansible so if anyone has some examples for this process to run build on multiple servers with ansible or with any other way, I'll be happy to hear.
I'm running Jenkins-Master on windows and Jenkins-Slave on Linux(ubuntu).
This is a pretty simplified example, but for a freestyle job, I think it breaks down into the following steps:
install ansible on the jenkins-agent.
pip install ansibleorapt install ansibleLoad your ssh key into Jenkins credentials store. I assume here that you use the credential store plugin (but you could also load it into an ssh-agent, or use some other method to expose the key on the jenkins-agents.)
i) Manage jenkins -> Manage Credentials
ii) add credentials -> "SSH username with private key"
iii) paste in they key and give it a name like "SSH_KEY_ANSIBLE"
- Create a new Jenkins freestyle job and add credentials (SSH_KEY_ANSIBLE)
i) Go to Build Environment section of job configuration
ii) check "Use secret text(s) or file(s)"
iii) add binding item "SSH User Private Key" to SSH_KEY_ANSIBLE
iv) set the Username variable to SSH_USER, set the key file to SSH_KEY
- add your list of hosts to your ansible inventory file on jenkins-agent: /etc/ansible/hosts
[jenkins_job_hosts] myhost1 myhost2 ... myhost101
- Create a playbook on the jenkins agent, for example
/home/jenkins/ansible/my_first_playbook.yml:
--- - hosts: jenkins_job_hosts tasks: - command: date - debug: msg: add other ansible tasks here....
- Go to build section in jenkins job.
i) add an "Execute shell" build step.
ii) use the following to run the ansible against all your hosts
ansible-playbook --private-key ${SSH_KEY} \
-u ${SSH_USER} \
-i /etc/ansible/hosts \
/home/jenkins/ansible/my_first_playbook.yml
Extra steps
You can put your inventory file and playbook into git, and check them out into the job
Also you can look at pipeline jobs in groovy syntax in a Jenkinsfile, which simplifies managing the job.
边栏推荐
- Move blog to CSDN
- 为什么vscode用久了电脑速度变慢?
- 学习总结
- Lumiprobe cell biology - dia, instructions for lipophilic tracer
- MySQL高级篇3
- Testing principle and precautions of biovendor rage ELISA Kit
- 修改已经上线的小程序名称
- What bank card do you need to open an account online? In addition, is it safe to open an account online now?
- B_QuRT_User_Guide(34)
- coredns 修改upstream
猜你喜欢

Spatiotemporal data mining: an overview

Vite2兼容低版本chrome(如搜狗80),通过polyfills处理部分需求高版本的语法

MFC界面库BCGControlBar v33.0 - 桌面警报窗口、网格控件升级等

RP原型资源分享-购物类App

关于,奇安信检测代码漏洞,XSS系列解决

偏向锁/轻量锁/重级锁锁锁更健康,上锁解锁到底是怎么完成实现的

stacking集成模型预测回归问题

【数字IC应届生职业规划】Chap.1 IC行业产业链概述及代表企业大厂汇总

Lvalue reference and lvalue reference

Label Contrastive Coding based Graph Neural Network for Graph Classification
随机推荐
B_QuRT_User_Guide(33)
多态在代码中的体现
我想知道股票开户要认识谁?另外,手机开户安全么?
Understanding polymorphism
Game 81 biweekly
ssh-server配置文件参数PermitRootLogin介绍
Dynamic style binding --style and class
Two skylines
变异系数法matlab代码[通俗易懂]
What about degradation of text generation model? Simctg tells you the answer
软工UML画图
Text recognition svtr paper interpretation
Markdown笔记简明教程
减少嵌入式软件调试时间的三个技巧
Adobe-Photoshop(PS)-脚本开发-去除文件臃肿脚本
Lumiprobe生物素亚磷酰胺(羟脯氨酸)说明书
注册设备监理师难考吗,和监理工程师有什么关系?
Lumiprobe protein quantitation - qudye Protein Quantitation Kit
centos——开启/关闭oracle
B_QuRT_User_Guide(35)