Merge pull request #2724 from coreos-inc/multistage-build-ui
Add support for multistage Docker build in build UI
This commit is contained in:
commit
3b73695c04
25 changed files with 229 additions and 450 deletions
|
@ -1 +1,4 @@
|
|||
<span class="dockerfile-command command" command="getWithoutStep(command.message)"></span>
|
||||
<div class="build-log-command-element" ng-class="::{'multistep-seperator': !!isSecondaryFrom(command.message) || fromName(command.message)}">
|
||||
<span class="from-name" ng-if="::!!fromName(command.message)">{{ ::fromName(command.message) }}</span>
|
||||
<dockerfile-command class="command" command="getWithoutStep(command.message)"></dockerfile-command>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<span class="dockerfile-command-element" bindonce>
|
||||
<span class="label" bo-class="getCommandKind(command)" bo-show="getCommandKind(command)"
|
||||
bo-text="getCommandKind(command)">
|
||||
</span>
|
||||
<span class="command-title" bo-html="getCommandTitleHtml(command)"></span>
|
||||
</span>
|
|
@ -1,15 +0,0 @@
|
|||
<div class="dockerfile-view-element">
|
||||
<div class="dockerfile-line" ng-repeat="line in lines">
|
||||
<div ng-switch on="line.kind">
|
||||
<div class="command entry" ng-switch-when="command">
|
||||
<div class="dockerfile-command" command="line.text"></div>
|
||||
</div>
|
||||
<div class="comment entry" ng-switch-when="comment">
|
||||
{{ line.text || ' ' }}
|
||||
</div>
|
||||
<div class="text entry" ng-switch-default>
|
||||
{{ line.text || ' ' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -164,9 +164,7 @@
|
|||
</td>
|
||||
<td class="double-col image-col hidden-xs hidden-sm hidden-md">
|
||||
<span bo-if="feature.imageCommand">
|
||||
<span data-title="{{ feature.imageCommand }}" data-container="body" bs-tooltip>
|
||||
<span class="dockerfile-command" command="feature.imageCommand"></span>
|
||||
</span>
|
||||
<image-command command="feature.imageCommand"></image-command>
|
||||
<a href="/repository/{{ repository.namespace }}/{{ repository.name }}/image/{{ feature.imageId }}"><i class="fa fa-archive"></i></a>
|
||||
</span>
|
||||
<span bo-if="!feature.imageCommand">
|
||||
|
|
|
@ -1,94 +0,0 @@
|
|||
<div class="image-info-sidebar-element">
|
||||
<!-- Comment -->
|
||||
<div class="image-comment" ng-if="imageData.comment">
|
||||
<blockquote style="margin-top: 10px;">
|
||||
<markdown-view content="imageData.comment"></markdown-view>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
||||
<!-- Image ID -->
|
||||
<div class="image-section">
|
||||
<i class="fa fa-code section-icon" bs-tooltip="tooltip.title" data-title="Full Image ID"></i>
|
||||
<span class="section-info">
|
||||
<a class="current-image-link" ng-href="{{ tracker.imageLink(image) }}">
|
||||
{{ imageData.id }}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Tags -->
|
||||
<div class="image-section">
|
||||
<i class="fa fa-tag section-icon" data-title="Current Tags" bs-tooltip></i>
|
||||
<span class="section-info section-info-with-dropdown">
|
||||
<a class="label tag label-default" ng-repeat="tag in getTags(imageData)"
|
||||
ng-click="tagSelected({'tag': tag})">
|
||||
{{ tag }}
|
||||
</a>
|
||||
<span style="color: #ccc;" ng-if="!getTags(imageData).length">(No Tags)</span>
|
||||
|
||||
<div class="dropdown" data-placement="top"
|
||||
ng-if="tracker.repository.can_write || getTags(imageData)">
|
||||
<a class="dropdown-button" data-toggle="dropdown"
|
||||
bs-tooltip="tooltip.title" data-title="Manage Tags"
|
||||
data-container="body">
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
|
||||
<ul class="dropdown-menu pull-right">
|
||||
<li ng-repeat="tag in getTags(imageData)">
|
||||
<a ng-click="tagSelected({'tag': tag})">
|
||||
<i class="fa fa-tag"></i>{{ tag }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" role="presentation"
|
||||
ng-if="tracker.repository.can_write && imageData.tags"></li>
|
||||
<li>
|
||||
<a
|
||||
ng-click="addTagRequested({'image': image})"
|
||||
ng-if="tracker.repository.can_write">
|
||||
<i class="fa fa-plus"></i>Add New Tag
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Command -->
|
||||
<div class="image-section" ng-if="imageData.command && imageData.command.length">
|
||||
<i class="fa fa-terminal section-icon" data-title="Image Command" bs-tooltip></i>
|
||||
<span class="section-info">
|
||||
<span class="formatted-command trimmed"
|
||||
data-html="true"
|
||||
data-title="{{ getTooltipCommand(imageData) }}"
|
||||
data-placement="top" bs-tooltip>{{ getFormattedCommand(imageData) }}</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Created -->
|
||||
<div class="image-section">
|
||||
<i class="fa fa-calendar section-icon" data-title="Created" bs-tooltip></i>
|
||||
<span class="section-info">
|
||||
<dd am-time-ago="parseDate(imageData.created)"></dd>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Size -->
|
||||
<div class="image-section">
|
||||
<i class="fa fa-cloud-upload section-icon"
|
||||
data-title="The amount of data sent between Docker and the registry when pushing/pulling"
|
||||
bs-tooltip></i>
|
||||
<span class="section-info">{{ imageData.size | bytes }}</span>
|
||||
</div>
|
||||
|
||||
<!-- Locations -->
|
||||
<div class="image-section" ng-if="imageData.locations">
|
||||
<i class="fa fa-map-marker section-icon"
|
||||
data-title="The geographic region(s) in which this image data is located"
|
||||
bs-tooltip></i>
|
||||
<span class="section-info">
|
||||
<span class="location-view" location="location"
|
||||
ng-repeat="location in imageData.locations"></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
|
@ -5,9 +5,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="image-command">
|
||||
<div class="nondocker-command" ng-if="!getDockerfileCommand(image.command)">{{ image.command.join(' ') }}</div>
|
||||
<div class="dockerfile-command" command="getDockerfileCommand(image.command)"
|
||||
ng-if="getDockerfileCommand(image.command)"></div>
|
||||
<image-command command="image.command"></image-command>
|
||||
</div>
|
||||
<div class="image-layer-dot"></div>
|
||||
<div class="image-layer-line"></div>
|
||||
|
|
|
@ -152,9 +152,7 @@
|
|||
</td>
|
||||
<td class="double-col image-col hidden-xs hidden-sm hidden-md">
|
||||
<span bo-if="vuln.imageCommand">
|
||||
<span data-title="{{ vuln.imageCommand }}" data-container="body" bs-tooltip>
|
||||
<span class="dockerfile-command" command="vuln.imageCommand"></span>
|
||||
</span>
|
||||
<image-command command="vuln.imageCommand"></image-command>
|
||||
<a href="/repository/{{ repository.namespace }}/{{ repository.name }}/image/{{ vuln.imageId }}"><i class="fa fa-archive"></i></a>
|
||||
</span>
|
||||
<span bo-if="!vuln.imageCommand">
|
||||
|
|
Reference in a new issue