spring cloud開發、部署注意


一、開發時,配置服務的配置使用本地路徑,不使用svn和git,因為后者每個開發人員都會修改配置,導致別人也拿到其他人修改的配置,本地配置示例如下:

spring:
  application:
    name: simple-config-server
  cloud:
    config:
      server:       
        default-label: trunk  
        native:
          searchLocations: file:///D:\works\smart\simple-config-repo                  
  profiles:
    active: native

 

二、對於生產環境部署到阿里雲的,使用不了docker,因為docker文件通常有幾百兆,部署時上傳很慢。不但不能使用docker,打包時也沒有必要包含所有的包,如果去掉依賴包,編譯完后每個jar只有幾百k,這樣部署起來就方便多了。可以如下設置pom編譯選項:

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>ebtins.smart.proxy.SmartProxyApplication</mainClass>
							<classpathPrefix>lib/</classpathPrefix>
						</manifest>
					</archive>
				</configuration>
			</plugin>
		</plugins>
		<defaultGoal>compile</defaultGoal>
	</build>
	

這樣你生產環境的服務目錄將如下,simple-service.jar只有幾百K。

simple-service.jar simple-service.sh lib logs

三、使用腳本啟動和關閉服務,centos下的腳本啟動和關閉可以如下:

start(){  
 now=`date "+%Y%m%d%H%M%S"`  
 exec 
 java -Xms64m -Xmx256m -jar ./simple-service-0.0.1.jar --server.port=7085 --config.name=pro > logs/simple-service.log & 
}  
#停止方法  
stop(){  
 ps aux|grep simple-service|grep 7085|grep -v grep|awk '{print $2}'|while read pid  
 do  
    kill -9 $pid 
 done 
}  
  
case "$1" in  
start)  
start  
;;  
stop)  
stop  
;;    
restart)  
stop  
start  
;;  
*)  
printf 'Usage: %s {start|stop|restart}\n' "$testg"  
exit 1  
;;  
esac


啟動方式:sh simple-service.jar start
當然可以在腳本里啟動本服務器所有服務,也可以使用自動部署機制,自動部署自動啟動。
這是生產和開發環境的一點小小經驗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM