|
23 | 23 | from rest_framework.generics import get_object_or_404 |
24 | 24 | from rest_framework.response import Response |
25 | 25 |
|
26 | | -from api import models, serializers |
| 26 | +from api import docker, models, serializers |
27 | 27 |
|
28 | 28 | from deis import settings |
29 | 29 |
|
@@ -631,6 +631,11 @@ def rollback(self, request, *args, **kwargs): |
631 | 631 | app.release_set.create(owner=request.user, version=last_version + 1, |
632 | 632 | build=prev.build, config=prev.config, |
633 | 633 | summary=summary) |
| 634 | + # publish release to registry as new docker image |
| 635 | + if settings.REGISTRY_URL: |
| 636 | + repository_path = "{}/{}".format(app.owner.username, app.id) |
| 637 | + tag = 'v{}'.format(last_version + 1) |
| 638 | + docker.publish_release(repository_path, prev.config.values, tag) |
634 | 639 | app.converge() |
635 | 640 | msg = "Rolled back to v{}".format(version) |
636 | 641 | return Response(msg, status=status.HTTP_201_CREATED) |
@@ -707,9 +712,6 @@ def create(self, request, *args, **kwargs): |
707 | 712 | def post_save(self, obj, created=False): |
708 | 713 | if created: |
709 | 714 | # create a new release |
710 | | - models.release_signal.send( |
711 | | - sender=self, build=obj, app=obj.app, |
712 | | - user=obj.owner) |
713 | 715 | models.release_signal.send(sender=self, build=obj, app=obj.app, user=obj.owner) |
714 | 716 | # see if we need to scale an initial web container |
715 | 717 | app = obj.app |
|
0 commit comments