当前位置:网站首页>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:08:00 【weixin_888988】
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.
边栏推荐
- Deflection lock / light lock / heavy lock lock is healthier. How to complete locking and unlocking
- Lumiprobe copper free click chemical solution
- 对多态的理解
- 开源实习经验分享:openEuler软件包加固测试
- How to move forward when facing confusion in scientific research? How to give full play to women's advantages in scientific research?
- 修改已经上线的小程序名称
- Peking University ACM problems 1002:487-3279
- Lumiprobe cell biology - dia, instructions for lipophilic tracer
- Qiao NPMS: search for NPM packages
- On the charm of code language
猜你喜欢
随机推荐
软工UML画图
在手机炒股开户安全吗?
《大厂面试》之JVM篇21问与答
Lumiprobe 改性三磷酸盐丨生物素-11-UTP研究
C file pointer
Basic concepts of tree
coredns 修改upstream
【等级测评师】等级测评师怎么报名?多少分及格?
B_QuRT_User_Guide(32)
What about degradation of text generation model? Simctg tells you the answer
毕业五年,想当初若没有入行测试,我是否还会如这般焦虑
ArcGIS构建发布简单路网Network数据服务及Rest调用测试
报错:Internal error XFS_WANT_CORRUPTED_GOTO at line 1635 of file fs/xfs/libxfs/xfs_alloc.c.
电子方案开发——智能跳绳方案
Oracle 数据库表结构 Excel 导出
Peking University ACM problems 1000:a+b problem
How to move forward when facing confusion in scientific research? How to give full play to women's advantages in scientific research?
MySQL高级篇3
uniapp-第三方网络请求
Peking University ACM problems 1004:financial management









