Пример #1
0
 def run(self, containers, family, app=app):
     apps = []
     with app.app_context():
         for container in containers:
             try:
                 repo, commit_hash = container[0].split(':')
             except ValueError:
                 raise ValueError('"{}" should look like repo:id'.format(
                     container[0]))
             build = Build.query.join(Commit).filter(
                 Commit.repository == repo,
                 or_(Commit.commit_hash == commit_hash,
                     Commit.tag == commit_hash),
             ).first()
             if build is None:
                 raise NoResultFound("No row found for {}/{}".format(
                     repo, commit_hash))
             apps.append(
                 ECSBuilder.DockerContainer(
                     build=build,
                     environment=container[1],
                     memory=container[2],
                     portmappings=[{
                         "hostPort": 8080,
                         "containerPort": 80
                     }] if repo == "adsws" else None,
                 ))
         tmpl = ECSBuilder(apps, family=family).render_template()
         print(tmpl)
         return tmpl
Пример #2
0
 def setUp(self):
     self.commit = Commit(commit_hash='master', repository="adsws")
     self.build = Build(commit=self.commit)
     self.containers = [
         ECSBuilder.DockerContainer(self.build,
                                    environment="staging",
                                    memory=m,
                                    portmappings=[{
                                        "hostPort": 8080,
                                        "containerPort": 80
                                    }] if m == 10 else None)
         for m in range(10, 50, 10)
     ]
     self.builder = ECSBuilder(self.containers, family="unittest")