@@ -58,7 +58,7 @@ class EnvValue:
5858 # Target Host
5959 DEPLOY_STAGE = "dev"
6060 DEPLOY_SSH_HOST = "dev.h.rexzhang.com"
61- DEPLOY_SSH_PORT = 22022
61+ DEPLOY_SSH_PORT = 22
6262 DEPLOY_SSH_USER = "root"
6363 DEPLOY_WORK_PATH = "/root/apps/asgi-webdav"
6464
@@ -67,7 +67,7 @@ class EnvValue:
6767 CR_NAME_SPACE = "rex"
6868
6969 # Docker Image
70- DOCKER_BASE_IMAGE_TAG = "python:3.13 -alpine"
70+ DOCKER_BASE_IMAGE_TAG = "python:3.14 -alpine"
7171
7272 @property
7373 def DOCKER_IMAGE_FULL_NAME (self ) -> str :
@@ -87,19 +87,28 @@ def get_container_name(self, module: str | None = None) -> str:
8787 CONTAINER_GID = 1000
8888 CONTAINER_UID = 1000
8989
90- def switch_env_localhost (self ):
91- self .DEPLOY_STAGE = "localhost "
90+ def switch_env_local (self ):
91+ self .DEPLOY_STAGE = "local "
9292 self .DEPLOY_WORK_PATH = "/tmp"
9393 self .CONTAINER_GID = 20
9494 self .CONTAINER_UID = 501
9595
96+ def switch_env_prd (self ):
97+ self .DEPLOY_STAGE = "prd"
98+ self .DEPLOY_SSH_HOST = "prd.h.rexzhang.com"
99+
96100
97101ev = EnvValue ()
98102
99103
100104@task
101- def env_localhost (c ):
102- ev .switch_env_localhost ()
105+ def env_local (c ):
106+ ev .switch_env_local ()
107+
108+
109+ @task
110+ def env_prd (c ):
111+ ev .switch_env_prd ()
103112
104113
105114def docker_build (c ):
@@ -132,19 +141,37 @@ def docker_deploy(c):
132141 )
133142
134143
144+ def run_restart_script (c ):
145+ c .run (f"cd { ev .DEPLOY_WORK_PATH } && ./UpdateContainer.sh" )
146+
147+
135148@task
136149def deploy (c ):
137150 print ("deploy container..." )
138151
139- if ev .DEPLOY_STAGE != "localhost" :
140- docker_push_image (c )
141-
142- c = Connection (
143- host = ev .DEPLOY_SSH_HOST , port = ev .DEPLOY_SSH_PORT , user = ev .DEPLOY_SSH_USER
144- )
145- docker_pull_image (c )
146-
147- docker_deploy (c )
152+ match ev .DEPLOY_STAGE :
153+ case "local" :
154+ docker_deploy (c )
155+
156+ case "dev" :
157+ docker_push_image (c )
158+ c = Connection (
159+ host = ev .DEPLOY_SSH_HOST ,
160+ port = ev .DEPLOY_SSH_PORT ,
161+ user = ev .DEPLOY_SSH_USER ,
162+ )
163+ docker_pull_image (c )
164+ docker_deploy (c )
165+
166+ case "prd" :
167+ docker_push_image (c )
168+ c = Connection (
169+ host = ev .DEPLOY_SSH_HOST ,
170+ port = ev .DEPLOY_SSH_PORT ,
171+ user = ev .DEPLOY_SSH_USER ,
172+ )
173+ docker_pull_image (c )
174+ run_restart_script (c )
148175
149176
150177@task
0 commit comments