1. 程式人生 > >jenkins+maven+ansible實現測試環境完全自動發布

jenkins+maven+ansible實現測試環境完全自動發布

PE c4c ask shadow 實現 .sh scrip remote vpd

1、jenkins安裝配置略
2、配置maven

[root@jenkins-99 maven]# cat /etc/profile.d/maven.sh 
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
[root@jenkins-99 maven]# source /etc/profile

3、jenkins裏配置maven環境

技術分享圖片

4、新建自動風格項目-api_125_8181
技術分享圖片
技術分享圖片

技術分享圖片
技術分享圖片
5、編寫ansilbe-playbook

[root@jenkins-99 ansible]# ll
總用量 28
-rw-r--r--.  1 root root 19179 1月  30 04:15 ansible.cfg
drwxr-xr-x.  2 root root    16 7月   2 12:50 group_vars
-rw-r--r--.  1 root root   129 6月  26 15:40 hosts
drwxr-xr-x. 12 root root  4096 6月  28 20:00 roles
備註:全局變量,指定了jenkins的workspace
[root@jenkins-99 ansible]# cat group_vars/all 
jenkins_home: /var/lib/jenkins/workspace/

[root@jenkins-99 roles]# cat api_125_8181/tasks/main.yml 
- name: copy api
  copy: src={{ jenkins_home }}/api_125_8181/target/exchange-api.war dest=/opt/exchange-api/www/ROOT.war  backup=yes
- name: restart api
  shell: /opt/script/startapi.sh   #調用目標主機的腳本,進行服務重啟
[root@jenkins-99 roles]# cat api_125_8181/api.yml   #該入口文件配置在上面的jenkins當中,當jenkins構建時,調用執行任務
- hosts: 172.16.1.125
  remote_user: root
  roles:
  - api_125_8181   #指定roles目錄下哪個項目
[root@jenkins-99 ansible]# tree roles/api_125_8181/
roles/api_125_8181/
├── api.yml
├── files
│?? └── startfront.sh
├── front.retry
└── tasks
    └── main.yml

2 directories, 4 files
[root@jenkins-99 ansible]# 

6、構建調試
技術分享圖片

jenkins+maven+ansible實現測試環境完全自動發布