瀏覽代碼

Merge pull request #555 from meolu/2.0/feature/deploy

2.0/feature/deploy
huamanshu 6 年之前
父節點
當前提交
63c81d99d9
共有 7 個文件被更改,包括 20 次插入8 次删除
  1. 1 0
      walle/model/environment.py
  2. 1 0
      walle/model/project.py
  3. 1 0
      walle/model/server.py
  4. 1 0
      walle/model/space.py
  5. 1 0
      walle/model/task.py
  6. 1 0
      walle/model/user.py
  7. 14 8
      walle/service/deployer.py

+ 1 - 0
walle/model/environment.py

@@ -115,6 +115,7 @@ class EnvironmentModel(Model):
 
     def enable(self):
         return {
+            'enable_view': True,
             'enable_update': permission.role_upper_developer(),
             'enable_delete': permission.role_upper_developer(),
             'enable_create': False,

+ 1 - 0
walle/model/project.py

@@ -188,6 +188,7 @@ class ProjectModel(SurrogatePK, Model):
 
     def enable(self):
         return {
+            'enable_view': True,
             'enable_update': permission.role_upper_developer(),
             'enable_delete': permission.enable_uid(self.user_id) or permission.role_upper_developer(),
             'enable_create': False,

+ 1 - 0
walle/model/server.py

@@ -124,6 +124,7 @@ class ServerModel(SurrogatePK, Model):
 
     def enable(self):
         return {
+            'enable_view': True,
             'enable_update': permission.role_upper_developer(),
             'enable_delete': permission.role_upper_developer(),
             'enable_create': False,

+ 1 - 0
walle/model/space.py

@@ -119,6 +119,7 @@ class SpaceModel(SurrogatePK, Model):
 
     def enable(self):
         return {
+            'enable_view': True,
             'enable_update': permission.enable_uid(self.user_id) or permission.role_upper_owner(),
             'enable_delete': permission.enable_uid(self.user_id) or permission.role_upper_owner(),
             'enable_create': False,

+ 1 - 0
walle/model/task.py

@@ -191,6 +191,7 @@ class TaskModel(SurrogatePK, Model):
     def enable(self):
         is_project_master = self.project_id in session['project_master']
         return {
+            'enable_view': True,
             'enable_update': (permission.enable_uid(self.user_id) or permission.role_upper_developer() or is_project_master) and (self.status in [self.status_new, self.status_reject]),
             'enable_delete': (permission.enable_uid(self.user_id) or permission.role_upper_developer() or is_project_master) and (self.status in [self.status_new, self.status_pass, self.status_reject]),
             'enable_create': False,

+ 1 - 0
walle/model/user.py

@@ -257,6 +257,7 @@ class UserModel(UserMixin, SurrogatePK, Model):
 
     def enable(self):
         return {
+            'enable_view': True,
             'enable_update': permission.role_upper_developer(),
             'enable_delete': permission.role_upper_developer(),
             'enable_create': False,

+ 14 - 8
walle/service/deployer.py

@@ -130,9 +130,10 @@ class Deployer:
 
         # 用户自定义命令
         command = self.project_info['prev_deploy']
-        current_app.logger.info(command)
-        with self.local.cd(self.dir_codebase_project):
-            result = self.local.run(command, wenv=self.config())
+        if command:
+            current_app.logger.info(command)
+            with self.local.cd(self.dir_codebase_project):
+                result = self.local.run(command, wenv=self.config())
 
     def deploy(self):
         '''
@@ -195,8 +196,9 @@ class Deployer:
 
         # 用户自定义命令
         command = self.project_info['post_deploy']
-        with self.local.cd(self.local_codebase + self.release_version):
-            result = self.local.run(command, wenv=self.config())
+        if command:
+            with self.local.cd(self.local_codebase + self.release_version):
+                result = self.local.run(command, wenv=self.config())
 
         # 压缩打包
         self.release_version_tar = '%s.tgz' % (self.release_version)
@@ -224,9 +226,10 @@ class Deployer:
 
         # 用户自定义命令
         command = self.project_info['prev_release']
-        current_app.logger.info(command)
-        with waller.cd(self.project_info['target_releases']):
-            result = waller.run(command, wenv=self.config())
+        if command:
+            current_app.logger.info(command)
+            with waller.cd(self.project_info['target_releases']):
+                result = waller.run(command, wenv=self.config())
 
         # TODO md5
         # 传送到版本库 release
@@ -284,6 +287,9 @@ class Deployer:
 
         # 用户自定义命令
         command = self.project_info['post_release']
+        if not command:
+            return None
+
         current_app.logger.info(command)
         with waller.cd(self.project_info['target_root']):
             result = waller.run(command, wenv=self.config())