ip |
角色 |
備注 |
10.11.0.215 |
jenkins服務器 |
通過deploy運行jenkins服務,deploy用戶做了免秘鑰登錄ansible服務器 |
10.11.0.210 |
ansible服務器 |
通過deploy執行ansible服務,做了免秘鑰登錄test主機 |
10.11.0.212 |
需要被ansible控制的主機 |
|
環境准備:
- 搭建ansible服務環境,參考前面章節
- Ansible和10.11.0.212做免密碼登錄
- Jenkins和ansible服務做免秘鑰登錄
整理的邏輯:
Jenkins –> 遠程調用ansible上的testansible.sh腳本 -->test.example終端機
Jenkins的配置,執行腳本
# 通過jenkins服務器調用ansible(10.11.0.210)上的腳本執行ansible任務
#!/bin/sh
source /etc/profile
ssh deploy@10.11.0.210 "/usr/sbin/ip a"
ssh deploy@10.11.0.210 "ls"
ssh deploy@10.11.0.210 "/bin/sh testansible.sh"
Testansible.sh腳本
[deploy@node1 ~]$ cat testansible.sh
#!/bin/sh
set +x
source /home/deploy/.py3-a2.5-env/bin/activate
source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q
cd /home/deploy
ansible --version
ansible-playbook --version
cat test servers
ansible -i testservers testserver -m command -a "ip addr"
set -x
備注:
由於ansible和jenkins沒有部署在同一台服務器中,為了方便就把jenkins挪到了ansible中(因為ansible部署比較麻煩,jenkins簡單)
實際生產環境中不建議 gitlab/jenkins/ansible部署在一台機器中
可以將gitlab單獨一台機器
jenkins和ansible公用一台機器
主要步驟:
1.在目標服務器中安裝java環境
2.拷貝jenkins相關的程序即 /usr/local/tomcat 到目標服務器目錄下,解壓並賦權 chown -R deploy.deploy /usr/local/apache-tomcat-8.5.39
3.拷貝運行jenkins的用戶配置到目標服務器下:/home/deploy/.jenkins目錄
由於里面集成了gitlab,原來tomcat的8080口被gitlab占用,修改tomcat端口為8090
直接訪問 10.11.0.210:8090/jenkins 就可以正常訪問jenkins了