maven,git python指令碼 自動化 部署 spring boot進銷存系統
阿新 • • 發佈:2018-11-03
準備環境
虛擬機器兩臺
centos 7.2 192.168.255.128
centos 7.2 192.168.255.129
maven 3.0.5
java 1.8.0_181
git version 1.8.3.1
安裝 git
yum install git
初始化git
git config --global user.name "laoqian666"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C "[email protected] "
將Git 證書配置到github 上,保證linux伺服器與碼雲 之間可以
頭像 -- 設定 -- >>
cd ~/.ssh 把公鑰檔案貼上到對話方塊中
Python 2.7.5
專案地址:https://gitee.com/shenduedu/JXC.git 要在自行配好資料庫環境
centos 192.168.255.128 裝上 maven,java,git
centos 192.168.255.129 裝上 java
環境安裝 此處不再累贅
注意:
1 因為要遠端執行,所以要在兩臺虛擬機器上配置ssh key
ssh-keygen -t rsa
一路按回車,然後將生成的公鑰複製到 129機器上
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
2 要在碼雲好配置好公鑰
因為要用git 拉程式碼
執行任務時主要流程是
1 先從git 上pull 程式碼 到指定資料夾
2 然後 用maven 進行打包
3 使用scp 把打包後的檔案 複製到對應伺服器上
4 然後執行
為可方便演示,我程式碼都是採用硬編碼的方式,請讀者們諒解
python 指令碼
# -*- coding: UTF-8 -*-
import os
import sys
if os.path.exists('/usr/local/deployer.lock'):
print '程式正在執行.................'
sys.exit(1)
file = open('/usr/local/' + 'deployer' + '.lock','w')
file.close()
res = os.system('rm -rf /usr/local/gitsource/*')
if res != 0:
print 'delete gitsource files fail'
res =os.remove('/usr/local/deployer.lock')
sys.exit(1)
res = os.system('cd /usr/local/gitsource/ && git clone https://gitee.com/shenduedu/JXC.git')
if res != 0:
print 'https://gitee.com/shenduedu/JXC.git fail'
res =os.remove('/usr/local/deployer.lock')
sys.exit(1)
res = os.system('cd /usr/local/gitsource/JXC/ && mvn clean package')
if res != 0:
print 'mvn package fail'
res =os.remove('/usr/local/deployer.lock')
sys.exit(1)
res = os.system('ssh [email protected] "rm -rf /opt/project/*"')
res = os.system('scp /usr/local/gitsource/JXC/target/JXC-0.0.1-SNAPSHOT.war 192.168.255.129:/opt/project/')
res = os.system('ssh [email protected] "cd /opt/project && java -jar JXC-0.0.1-SNAPSHOT.war"')
res =os.remove('/usr/local/deployer.lock')
歡迎加入 微服務交流群
222700500