Skip to content

Commit 6e2e870

Browse files
committed
use buildid instead of imageID which default to latest if the image exist
1 parent 555c023 commit 6e2e870

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

src/builder.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,11 @@ builder.build = function(project, uuid, path, gitBranch, branch, dockerOptions)
154154
buildLogger.info('[%s] Created tarball for %s', buildId, uuid);
155155

156156
return docker.buildImage(project, tarPath, imageId + ':' + branch, buildId, buildLogger, dockerOptions, uuid);
157-
}).then(function() {
158-
buildLogger.info('[%s] %s built succesfully', buildId, uuid);
159-
buildLogger.info('[%s] Tagging %s', buildId, uuid);
157+
}).then(function(realBuildId) {
158+
buildLogger.info('[%s] %s built succesfully as imageId: %s', buildId, uuid, realBuildId);
159+
buildLogger.info('[%s] Tagging %s as imageId: %s', buildId, uuid, realBuildId);
160160

161-
return docker.tag(imageId, buildId, branch, buildLogger);
161+
return docker.tag(imageId, realBuildId, branch, buildLogger);
162162
}).then(function(image) {
163163
return publisher.publish(docker.client, buildId, project, buildLogger).then(function() {
164164
return image;

src/docker.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ docker.buildImage = function(project, tarPath, imageId, buildId, buildLogger, do
7676
return Q.promise(function(resolve, reject) {
7777
dockerOptions = dockerOptions || {};
7878
var tag = imageId + ((dockerOptions.dockerfile) ? '-builder' : '');
79+
var realBuildId = buildId;
7980

8081
docker.client.buildImage(tarPath, _.extend({t: tag}, dockerOptions), function(err, response) {
8182
if (err) {
@@ -105,6 +106,9 @@ docker.buildImage = function(project, tarPath, imageId, buildId, buildLogger, do
105106
}
106107

107108
buildLogger.info('[%s] %s', tag, result.stream || result.status);
109+
if (result.stream && result.stream.indexOf('Successfully built ') == 0) {
110+
realBuildId = result.stream.split('Successfully built ')[1].replace('\n', '');
111+
}
108112
});
109113

110114
response.on('end', function() {
@@ -115,7 +119,7 @@ docker.buildImage = function(project, tarPath, imageId, buildId, buildLogger, do
115119
return;
116120
}
117121

118-
resolve();
122+
resolve(realBuildId);
119123
});
120124
});
121125
});
@@ -128,10 +132,10 @@ docker.buildImage = function(project, tarPath, imageId, buildId, buildLogger, do
128132
*/
129133
docker.tag = function(imageId, buildId, branch) {
130134
var deferred = Q.defer();
131-
var image = docker.client.getImage(imageId);
135+
var image = docker.client.getImage(buildId);
132136

133137
image.tag({repo: imageId, tag: branch}, function() {
134-
deferred.resolve(image);
138+
deferred.resolve(docker.client.getImage(imageId));
135139
});
136140

137141
return deferred.promise;

0 commit comments

Comments
 (0)