spring cloud開發、部署注意事項

weixin_34402408發表於2018-09-10

一、開發時,配置服務的配置使用本地路徑,不使用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 當然可以在指令碼里啟動本伺服器所有服務,也可以使用自動部署機制,自動部署自動啟動。 這是生產和開發環境的一點小小經驗。 更多詳細原始碼參考來源:minglisoft.cn/honghu/tech…

相關文章