@jcoreio/aws-ecr-utils 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ECRDeployer.d.mts +23 -3
- package/ECRDeployer.d.mts.map +1 -1
- package/ECRDeployer.d.ts +23 -3
- package/ECRDeployer.d.ts.map +1 -1
- package/ECRDeployer.js +168 -83
- package/ECRDeployer.js.map +1 -1
- package/ECRDeployer.mjs +29 -4
- package/ECRDeployer.mjs.map +1 -1
- package/package.json +1 -1
- package/src/ECRDeployer.ts +62 -10
package/ECRDeployer.d.mts
CHANGED
|
@@ -11,12 +11,29 @@ export interface ECRDeployerOptions {
|
|
|
11
11
|
*/
|
|
12
12
|
repositoryName: string;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Options for {@link ECRDeployer#build}
|
|
16
|
+
*/
|
|
17
|
+
export interface BuildOptions {
|
|
18
|
+
/**
|
|
19
|
+
* the path to build (defaults to `.`)
|
|
20
|
+
*/
|
|
21
|
+
path?: string;
|
|
22
|
+
/**
|
|
23
|
+
* If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
|
|
24
|
+
*/
|
|
25
|
+
noNpmTokenArg?: boolean;
|
|
26
|
+
}
|
|
14
27
|
/**
|
|
15
28
|
* Class that implements our conventional process for deploying docker images to ECR.
|
|
16
29
|
*
|
|
17
|
-
* The CI build step should build the docker image (you may want to use {@link
|
|
18
|
-
*
|
|
19
|
-
* ECR tagged with the git
|
|
30
|
+
* The CI build step should build the docker image (you may want to use {@link build},
|
|
31
|
+
* or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
|
|
32
|
+
* yourself) and then call {@link push} to push the image to ECR tagged with the git
|
|
33
|
+
* commit hash.
|
|
34
|
+
*
|
|
35
|
+
* By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
|
|
36
|
+
* if not you can call `build({ noNpmTokenArg: true })`.
|
|
20
37
|
*
|
|
21
38
|
* The CI release step should call {@link release} to add tags for the git branch and
|
|
22
39
|
* the `version` in your `package.json`.
|
|
@@ -33,6 +50,9 @@ export declare class ECRDeployer {
|
|
|
33
50
|
private getRegion;
|
|
34
51
|
private getECRHost;
|
|
35
52
|
private getProjectPackageJson;
|
|
53
|
+
getLocalDockerTag(): Promise<string>;
|
|
54
|
+
build(options?: BuildOptions): Promise<void>;
|
|
55
|
+
build(args: string[], options?: BuildOptions): Promise<void>;
|
|
36
56
|
getDockerTags(): Promise<{
|
|
37
57
|
latest: string;
|
|
38
58
|
branch: string;
|
package/ECRDeployer.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECRDeployer.d.mts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB
|
|
1
|
+
{"version":3,"file":"ECRDeployer.d.mts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","BuildOptions","path","noNpmTokenArg","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getLocalDockerTag","build","args","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB;;;AAGA,OAAM,UAAWC,YAAY;EAC3B;;;EAGAC,IAAI,CAAC,EAAE,MAAM;EACb;;;EAGAC,aAAa,CAAC,EAAE,OAAO;;AAGzB;;;;;;;;;;;;;;;;;AAiBA,qBAAaC,WAAW;EACtBC,OAAO,EAAER,kBAAkB;cAEfQ,OAAO,EAAER,kBAAkB;EAIjCS,SAASA,CAAA,GAAAC,OAAA;EAWTC,aAAaA,CAAA,GAAAD,OAAA;EAMnB,QAAQE,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,iBAAiBA,CAAA,GAAAN,OAAA;EAIjBO,KAAKA,CAACT,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EAC5CO,KAAKA,CAACC,IAAI,EAAE,MAAM,EAAE,EAAEV,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EA+B5DS,aAAaA,CAAA,GAAIT,OAAO,CAAC;IAC7BU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAd,OAAA;EAuBJe,OAAOA,CAAA,GAAAf,OAAA;EAuDPgB,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAnB,OAAA","ignoreList":[]}
|
package/ECRDeployer.d.ts
CHANGED
|
@@ -11,12 +11,29 @@ export interface ECRDeployerOptions {
|
|
|
11
11
|
*/
|
|
12
12
|
repositoryName: string;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Options for {@link ECRDeployer#build}
|
|
16
|
+
*/
|
|
17
|
+
export interface BuildOptions {
|
|
18
|
+
/**
|
|
19
|
+
* the path to build (defaults to `.`)
|
|
20
|
+
*/
|
|
21
|
+
path?: string;
|
|
22
|
+
/**
|
|
23
|
+
* If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
|
|
24
|
+
*/
|
|
25
|
+
noNpmTokenArg?: boolean;
|
|
26
|
+
}
|
|
14
27
|
/**
|
|
15
28
|
* Class that implements our conventional process for deploying docker images to ECR.
|
|
16
29
|
*
|
|
17
|
-
* The CI build step should build the docker image (you may want to use {@link
|
|
18
|
-
*
|
|
19
|
-
* ECR tagged with the git
|
|
30
|
+
* The CI build step should build the docker image (you may want to use {@link build},
|
|
31
|
+
* or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
|
|
32
|
+
* yourself) and then call {@link push} to push the image to ECR tagged with the git
|
|
33
|
+
* commit hash.
|
|
34
|
+
*
|
|
35
|
+
* By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
|
|
36
|
+
* if not you can call `build({ noNpmTokenArg: true })`.
|
|
20
37
|
*
|
|
21
38
|
* The CI release step should call {@link release} to add tags for the git branch and
|
|
22
39
|
* the `version` in your `package.json`.
|
|
@@ -33,6 +50,9 @@ export declare class ECRDeployer {
|
|
|
33
50
|
private getRegion;
|
|
34
51
|
private getECRHost;
|
|
35
52
|
private getProjectPackageJson;
|
|
53
|
+
getLocalDockerTag(): Promise<string>;
|
|
54
|
+
build(options?: BuildOptions): Promise<void>;
|
|
55
|
+
build(args: string[], options?: BuildOptions): Promise<void>;
|
|
36
56
|
getDockerTags(): Promise<{
|
|
37
57
|
latest: string;
|
|
38
58
|
branch: string;
|
package/ECRDeployer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECRDeployer.d.ts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB
|
|
1
|
+
{"version":3,"file":"ECRDeployer.d.ts","names":["ECRClientConfig","ECRDeployerOptions","awsConfig","releaseBranches","repositoryName","BuildOptions","path","noNpmTokenArg","ECRDeployer","options","getBranch","Promise","getCommitHash","getAWSAccountId","getRegion","getECRHost","getProjectPackageJson","getLocalDockerTag","build","args","getDockerTags","latest","branch","commitHash","version","push","release","getNpmToken","env","NodeJS","ProcessEnv"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAGEA,eAAe,QAEV,qBAAqB;AAS5B,OAAM,UAAWC,kBAAkB;EACjCC,SAAS,CAAC,EAAEF,eAAe;EAC3B;;;;EAIAG,eAAe,CAAC,EAAE,MAAM,EAAE;EAC1B;;;EAGAC,cAAc,EAAE,MAAM;;AAGxB;;;AAGA,OAAM,UAAWC,YAAY;EAC3B;;;EAGAC,IAAI,CAAC,EAAE,MAAM;EACb;;;EAGAC,aAAa,CAAC,EAAE,OAAO;;AAGzB;;;;;;;;;;;;;;;;;AAiBA,qBAAaC,WAAW;EACtBC,OAAO,EAAER,kBAAkB;cAEfQ,OAAO,EAAER,kBAAkB;EAIjCS,SAASA,CAAA,GAAAC,OAAA;EAWTC,aAAaA,CAAA,GAAAD,OAAA;EAMnB,QAAQE,eAAe;UAOTC,SAAS;UAYTC,UAAU;UAIVC,qBAAqB;EAoB7BC,iBAAiBA,CAAA,GAAAN,OAAA;EAIjBO,KAAKA,CAACT,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EAC5CO,KAAKA,CAACC,IAAI,EAAE,MAAM,EAAE,EAAEV,OAAsB,CAAd,EAAEJ,YAAY,GAAGM,OAAO,CAAC,IAAI,CAAC;EA+B5DS,aAAaA,CAAA,GAAIT,OAAO,CAAC;IAC7BU,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,MAAM;IACdC,UAAU,EAAE,MAAM;IAClBC,OAAO,CAAC,EAAE,MAAM;GACjB,CAAC;EA+BIC,IAAIA,CAAA,GAAAd,OAAA;EAuBJe,OAAOA,CAAA,GAAAf,OAAA;EAuDPgB,WAAWA,CAACC,GAAiB,CAAd,EAAAC,MAAA,CAAAC,UAAc,GAAAnB,OAAA","ignoreList":[]}
|
package/ECRDeployer.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.ECRDeployer = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
@@ -19,12 +20,19 @@ var _clientSts = require("@aws-sdk/client-sts");
|
|
|
19
20
|
var _once = require("./once.js");
|
|
20
21
|
var _loginToECR = _interopRequireDefault(require("./loginToECR.js"));
|
|
21
22
|
var _os = _interopRequireDefault(require("os"));
|
|
23
|
+
/**
|
|
24
|
+
* Options for {@link ECRDeployer#build}
|
|
25
|
+
*/
|
|
22
26
|
/**
|
|
23
27
|
* Class that implements our conventional process for deploying docker images to ECR.
|
|
24
28
|
*
|
|
25
|
-
* The CI build step should build the docker image (you may want to use {@link
|
|
26
|
-
*
|
|
27
|
-
* ECR tagged with the git
|
|
29
|
+
* The CI build step should build the docker image (you may want to use {@link build},
|
|
30
|
+
* or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
|
|
31
|
+
* yourself) and then call {@link push} to push the image to ECR tagged with the git
|
|
32
|
+
* commit hash.
|
|
33
|
+
*
|
|
34
|
+
* By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
|
|
35
|
+
* if not you can call `build({ noNpmTokenArg: true })`.
|
|
28
36
|
*
|
|
29
37
|
* The CI release step should call {@link release} to add tags for the git branch and
|
|
30
38
|
* the `version` in your `package.json`.
|
|
@@ -263,21 +271,96 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
|
|
|
263
271
|
return getProjectPackageJson;
|
|
264
272
|
}()
|
|
265
273
|
}, {
|
|
266
|
-
key: "
|
|
274
|
+
key: "getLocalDockerTag",
|
|
267
275
|
value: function () {
|
|
268
|
-
var
|
|
269
|
-
var _yield$Promise$all, _yield$Promise$all2, commitHash, branch, packageJson, base, result, _this$options$release, releaseBranches, version;
|
|
276
|
+
var _getLocalDockerTag = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
270
277
|
return _regenerator["default"].wrap(function (_context8) {
|
|
271
278
|
while (1) switch (_context8.prev = _context8.next) {
|
|
272
279
|
case 0:
|
|
273
280
|
_context8.next = 1;
|
|
281
|
+
return this.getDockerTags();
|
|
282
|
+
case 1:
|
|
283
|
+
return _context8.abrupt("return", _context8.sent.commitHash);
|
|
284
|
+
case 2:
|
|
285
|
+
case "end":
|
|
286
|
+
return _context8.stop();
|
|
287
|
+
}
|
|
288
|
+
}, _callee8, this);
|
|
289
|
+
}));
|
|
290
|
+
function getLocalDockerTag() {
|
|
291
|
+
return _getLocalDockerTag.apply(this, arguments);
|
|
292
|
+
}
|
|
293
|
+
return getLocalDockerTag;
|
|
294
|
+
}()
|
|
295
|
+
}, {
|
|
296
|
+
key: "build",
|
|
297
|
+
value: function () {
|
|
298
|
+
var _build = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(args, options) {
|
|
299
|
+
var _options, _options$path, _options2;
|
|
300
|
+
var _yield$Promise$all, _yield$Promise$all2, npmToken, tag, _t9, _t0, _t1, _t10, _t11, _t12;
|
|
301
|
+
return _regenerator["default"].wrap(function (_context9) {
|
|
302
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
303
|
+
case 0:
|
|
304
|
+
if (!Array.isArray(args)) {
|
|
305
|
+
options = args;
|
|
306
|
+
args = [];
|
|
307
|
+
}
|
|
308
|
+
_context9.next = 1;
|
|
309
|
+
return Promise.all([(_options = options) !== null && _options !== void 0 && _options.noNpmTokenArg ? undefined : this.getNpmToken(), this.getLocalDockerTag()]);
|
|
310
|
+
case 1:
|
|
311
|
+
_yield$Promise$all = _context9.sent;
|
|
312
|
+
_yield$Promise$all2 = (0, _slicedToArray2["default"])(_yield$Promise$all, 2);
|
|
313
|
+
npmToken = _yield$Promise$all2[0];
|
|
314
|
+
tag = _yield$Promise$all2[1];
|
|
315
|
+
_t9 = _promisifyChildProcess.spawn;
|
|
316
|
+
_t0 = ['build', (_options$path = (_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.path) !== null && _options$path !== void 0 ? _options$path : '.'];
|
|
317
|
+
_t1 = _toConsumableArray2["default"];
|
|
318
|
+
if (!npmToken) {
|
|
319
|
+
_context9.next = 3;
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
_t11 = "NPM_TOKEN=";
|
|
323
|
+
_context9.next = 2;
|
|
324
|
+
return this.getNpmToken();
|
|
325
|
+
case 2:
|
|
326
|
+
_t12 = _t11.concat.call(_t11, _context9.sent);
|
|
327
|
+
_t10 = ['--build-arg', _t12];
|
|
328
|
+
_context9.next = 4;
|
|
329
|
+
break;
|
|
330
|
+
case 3:
|
|
331
|
+
_t10 = [];
|
|
332
|
+
case 4:
|
|
333
|
+
_context9.next = 5;
|
|
334
|
+
return _t9('docker', _t0.concat.call(_t0, _t1(_t10), ['--tag', tag], (0, _toConsumableArray2["default"])(args)), {
|
|
335
|
+
stdio: 'inherit'
|
|
336
|
+
});
|
|
337
|
+
case 5:
|
|
338
|
+
case "end":
|
|
339
|
+
return _context9.stop();
|
|
340
|
+
}
|
|
341
|
+
}, _callee9, this);
|
|
342
|
+
}));
|
|
343
|
+
function build(_x2, _x3) {
|
|
344
|
+
return _build.apply(this, arguments);
|
|
345
|
+
}
|
|
346
|
+
return build;
|
|
347
|
+
}()
|
|
348
|
+
}, {
|
|
349
|
+
key: "getDockerTags",
|
|
350
|
+
value: function () {
|
|
351
|
+
var _getDockerTags = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
|
|
352
|
+
var _yield$Promise$all3, _yield$Promise$all4, commitHash, branch, packageJson, base, result, _this$options$release, releaseBranches, version;
|
|
353
|
+
return _regenerator["default"].wrap(function (_context0) {
|
|
354
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
355
|
+
case 0:
|
|
356
|
+
_context0.next = 1;
|
|
274
357
|
return Promise.all([this.getCommitHash(), this.getBranch(), this.getProjectPackageJson()]);
|
|
275
358
|
case 1:
|
|
276
|
-
_yield$Promise$
|
|
277
|
-
_yield$Promise$
|
|
278
|
-
commitHash = _yield$Promise$
|
|
279
|
-
branch = _yield$Promise$
|
|
280
|
-
packageJson = _yield$Promise$
|
|
359
|
+
_yield$Promise$all3 = _context0.sent;
|
|
360
|
+
_yield$Promise$all4 = (0, _slicedToArray2["default"])(_yield$Promise$all3, 3);
|
|
361
|
+
commitHash = _yield$Promise$all4[0];
|
|
362
|
+
branch = _yield$Promise$all4[1];
|
|
363
|
+
packageJson = _yield$Promise$all4[2];
|
|
281
364
|
base = this.options.repositoryName;
|
|
282
365
|
result = {
|
|
283
366
|
latest: base,
|
|
@@ -286,24 +369,24 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
|
|
|
286
369
|
};
|
|
287
370
|
_this$options$release = this.options.releaseBranches, releaseBranches = _this$options$release === void 0 ? ['master', 'main', 'release'] : _this$options$release;
|
|
288
371
|
if (!releaseBranches.includes(branch)) {
|
|
289
|
-
|
|
372
|
+
_context0.next = 3;
|
|
290
373
|
break;
|
|
291
374
|
}
|
|
292
375
|
version = process.env.OVERRIDE_ECR_VERSION_TAG || packageJson.contents.version;
|
|
293
376
|
if (!(typeof version !== 'string')) {
|
|
294
|
-
|
|
377
|
+
_context0.next = 2;
|
|
295
378
|
break;
|
|
296
379
|
}
|
|
297
380
|
throw new Error("failed to get version from ".concat(_path["default"].relative(process.cwd(), packageJson.file)));
|
|
298
381
|
case 2:
|
|
299
382
|
result.version = "".concat(base, ":").concat(version);
|
|
300
383
|
case 3:
|
|
301
|
-
return
|
|
384
|
+
return _context0.abrupt("return", result);
|
|
302
385
|
case 4:
|
|
303
386
|
case "end":
|
|
304
|
-
return
|
|
387
|
+
return _context0.stop();
|
|
305
388
|
}
|
|
306
|
-
},
|
|
389
|
+
}, _callee0, this);
|
|
307
390
|
}));
|
|
308
391
|
function getDockerTags() {
|
|
309
392
|
return _getDockerTags.apply(this, arguments);
|
|
@@ -313,44 +396,46 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
|
|
|
313
396
|
}, {
|
|
314
397
|
key: "push",
|
|
315
398
|
value: function () {
|
|
316
|
-
var _push = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
317
|
-
var awsConfig, _yield$Promise$
|
|
318
|
-
return _regenerator["default"].wrap(function (
|
|
319
|
-
while (1) switch (
|
|
399
|
+
var _push = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
|
|
400
|
+
var awsConfig, _yield$Promise$all5, _yield$Promise$all6, ecrHost, commitHash, _t13;
|
|
401
|
+
return _regenerator["default"].wrap(function (_context1) {
|
|
402
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
320
403
|
case 0:
|
|
321
404
|
awsConfig = this.options.awsConfig;
|
|
322
|
-
|
|
405
|
+
_context1.next = 1;
|
|
323
406
|
return Promise.all([this.getECRHost(), this.getDockerTags(), (0, _loginToECR["default"])({
|
|
324
407
|
awsConfig: awsConfig
|
|
325
408
|
})]);
|
|
326
409
|
case 1:
|
|
327
|
-
_yield$Promise$
|
|
328
|
-
_yield$Promise$
|
|
329
|
-
ecrHost = _yield$Promise$
|
|
330
|
-
commitHash = _yield$Promise$
|
|
331
|
-
|
|
332
|
-
|
|
410
|
+
_yield$Promise$all5 = _context1.sent;
|
|
411
|
+
_yield$Promise$all6 = (0, _slicedToArray2["default"])(_yield$Promise$all5, 2);
|
|
412
|
+
ecrHost = _yield$Promise$all6[0];
|
|
413
|
+
commitHash = _yield$Promise$all6[1].commitHash;
|
|
414
|
+
_context1.prev = 2;
|
|
415
|
+
_context1.next = 3;
|
|
333
416
|
return (0, _promisifyChildProcess.spawn)('docker', ['tag', commitHash, "".concat(ecrHost, "/").concat(commitHash)], {
|
|
334
417
|
stdio: 'inherit'
|
|
335
418
|
});
|
|
336
419
|
case 3:
|
|
337
|
-
|
|
420
|
+
_context1.next = 5;
|
|
338
421
|
break;
|
|
339
422
|
case 4:
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
423
|
+
_context1.prev = 4;
|
|
424
|
+
_t13 = _context1["catch"](2);
|
|
425
|
+
_context1.next = 5;
|
|
343
426
|
return (0, _promisifyChildProcess.spawn)('docker', ['tag', '-f', commitHash, "".concat(ecrHost, "/").concat(commitHash)], {
|
|
344
427
|
stdio: 'inherit'
|
|
345
428
|
});
|
|
346
429
|
case 5:
|
|
347
|
-
|
|
348
|
-
return (0, _promisifyChildProcess.spawn)('docker', ['push', "".concat(ecrHost, "/").concat(commitHash)]
|
|
430
|
+
_context1.next = 6;
|
|
431
|
+
return (0, _promisifyChildProcess.spawn)('docker', ['push', "".concat(ecrHost, "/").concat(commitHash)], {
|
|
432
|
+
stdio: 'inherit'
|
|
433
|
+
});
|
|
349
434
|
case 6:
|
|
350
435
|
case "end":
|
|
351
|
-
return
|
|
436
|
+
return _context1.stop();
|
|
352
437
|
}
|
|
353
|
-
},
|
|
438
|
+
}, _callee1, this, [[2, 4]]);
|
|
354
439
|
}));
|
|
355
440
|
function push() {
|
|
356
441
|
return _push.apply(this, arguments);
|
|
@@ -360,22 +445,22 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
|
|
|
360
445
|
}, {
|
|
361
446
|
key: "release",
|
|
362
447
|
value: function () {
|
|
363
|
-
var _release = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
364
|
-
var _yield$Promise$
|
|
365
|
-
return _regenerator["default"].wrap(function (
|
|
366
|
-
while (1) switch (
|
|
448
|
+
var _release = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
|
|
449
|
+
var _yield$Promise$all7, _yield$Promise$all8, commitHash, ecrHost, tags, ecr, repositoryName, _yield$ecr$send, _yield$ecr$send$image, _yield$ecr$send$image2, _yield$ecr$send$image3, image, imageManifest, _i, _arr, _tags$key, key, tag, _t14;
|
|
450
|
+
return _regenerator["default"].wrap(function (_context10) {
|
|
451
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
367
452
|
case 0:
|
|
368
|
-
|
|
453
|
+
_context10.next = 1;
|
|
369
454
|
return Promise.all([this.getCommitHash(), this.getECRHost(), this.getDockerTags()]);
|
|
370
455
|
case 1:
|
|
371
|
-
_yield$Promise$
|
|
372
|
-
_yield$Promise$
|
|
373
|
-
commitHash = _yield$Promise$
|
|
374
|
-
ecrHost = _yield$Promise$
|
|
375
|
-
tags = _yield$Promise$
|
|
456
|
+
_yield$Promise$all7 = _context10.sent;
|
|
457
|
+
_yield$Promise$all8 = (0, _slicedToArray2["default"])(_yield$Promise$all7, 3);
|
|
458
|
+
commitHash = _yield$Promise$all8[0];
|
|
459
|
+
ecrHost = _yield$Promise$all8[1];
|
|
460
|
+
tags = _yield$Promise$all8[2];
|
|
376
461
|
ecr = new _clientEcr.ECRClient();
|
|
377
462
|
repositoryName = this.options.repositoryName;
|
|
378
|
-
|
|
463
|
+
_context10.next = 2;
|
|
379
464
|
return ecr.send(new _clientEcr.BatchGetImageCommand({
|
|
380
465
|
repositoryName: repositoryName,
|
|
381
466
|
imageIds: [{
|
|
@@ -383,7 +468,7 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
|
|
|
383
468
|
}]
|
|
384
469
|
}));
|
|
385
470
|
case 2:
|
|
386
|
-
_yield$ecr$send =
|
|
471
|
+
_yield$ecr$send = _context10.sent;
|
|
387
472
|
_yield$ecr$send$image = _yield$ecr$send.images;
|
|
388
473
|
_yield$ecr$send$image2 = _yield$ecr$send$image === void 0 ? [] : _yield$ecr$send$image;
|
|
389
474
|
_yield$ecr$send$image3 = (0, _slicedToArray2["default"])(_yield$ecr$send$image2, 1);
|
|
@@ -391,64 +476,64 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
|
|
|
391
476
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
392
477
|
imageManifest = image === null || image === void 0 ? void 0 : image.imageManifest;
|
|
393
478
|
if (imageManifest) {
|
|
394
|
-
|
|
479
|
+
_context10.next = 3;
|
|
395
480
|
break;
|
|
396
481
|
}
|
|
397
482
|
throw new Error("failed to get image manifest for ".concat(repositoryName, ":").concat(commitHash));
|
|
398
483
|
case 3:
|
|
399
484
|
if (!imageManifest) {
|
|
400
|
-
|
|
485
|
+
_context10.next = 11;
|
|
401
486
|
break;
|
|
402
487
|
}
|
|
403
488
|
_i = 0, _arr = Object.keys(tags);
|
|
404
489
|
case 4:
|
|
405
490
|
if (!(_i < _arr.length)) {
|
|
406
|
-
|
|
491
|
+
_context10.next = 11;
|
|
407
492
|
break;
|
|
408
493
|
}
|
|
409
494
|
key = _arr[_i];
|
|
410
495
|
if (!(key === 'latest' || key === 'commitHash')) {
|
|
411
|
-
|
|
496
|
+
_context10.next = 5;
|
|
412
497
|
break;
|
|
413
498
|
}
|
|
414
|
-
return
|
|
499
|
+
return _context10.abrupt("continue", 10);
|
|
415
500
|
case 5:
|
|
416
501
|
tag = (_tags$key = tags[key]) === null || _tags$key === void 0 ? void 0 : _tags$key.replace(/^[^:]+:?/, '');
|
|
417
502
|
if (tag) {
|
|
418
|
-
|
|
503
|
+
_context10.next = 6;
|
|
419
504
|
break;
|
|
420
505
|
}
|
|
421
|
-
return
|
|
506
|
+
return _context10.abrupt("continue", 10);
|
|
422
507
|
case 6:
|
|
423
508
|
// eslint-disable-next-line no-console
|
|
424
509
|
console.error("Adding tag ".concat(ecrHost, "/").concat(tags[key]));
|
|
425
|
-
|
|
426
|
-
|
|
510
|
+
_context10.prev = 7;
|
|
511
|
+
_context10.next = 8;
|
|
427
512
|
return ecr.send(new _clientEcr.PutImageCommand({
|
|
428
513
|
repositoryName: repositoryName,
|
|
429
514
|
imageManifest: imageManifest,
|
|
430
515
|
imageTag: tag.substring(tag.indexOf(':') + 1)
|
|
431
516
|
}));
|
|
432
517
|
case 8:
|
|
433
|
-
|
|
518
|
+
_context10.next = 10;
|
|
434
519
|
break;
|
|
435
520
|
case 9:
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
if (!(
|
|
439
|
-
|
|
521
|
+
_context10.prev = 9;
|
|
522
|
+
_t14 = _context10["catch"](7);
|
|
523
|
+
if (!(_t14 instanceof Object && 'code' in _t14 && _t14.code !== 'ImageAlreadyExistsException')) {
|
|
524
|
+
_context10.next = 10;
|
|
440
525
|
break;
|
|
441
526
|
}
|
|
442
|
-
throw
|
|
527
|
+
throw _t14;
|
|
443
528
|
case 10:
|
|
444
529
|
_i++;
|
|
445
|
-
|
|
530
|
+
_context10.next = 4;
|
|
446
531
|
break;
|
|
447
532
|
case 11:
|
|
448
533
|
case "end":
|
|
449
|
-
return
|
|
534
|
+
return _context10.stop();
|
|
450
535
|
}
|
|
451
|
-
},
|
|
536
|
+
}, _callee10, this, [[7, 9]]);
|
|
452
537
|
}));
|
|
453
538
|
function release() {
|
|
454
539
|
return _release.apply(this, arguments);
|
|
@@ -458,50 +543,50 @@ var ECRDeployer = exports.ECRDeployer = /*#__PURE__*/function () {
|
|
|
458
543
|
}, {
|
|
459
544
|
key: "getNpmToken",
|
|
460
545
|
value: function () {
|
|
461
|
-
var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
546
|
+
var _getNpmToken = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
|
|
462
547
|
var env,
|
|
463
548
|
NPM_TOKEN,
|
|
464
549
|
homedir,
|
|
465
550
|
npmrc,
|
|
466
551
|
match,
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
return _regenerator["default"].wrap(function (
|
|
470
|
-
while (1) switch (
|
|
552
|
+
_args11 = arguments,
|
|
553
|
+
_t15;
|
|
554
|
+
return _regenerator["default"].wrap(function (_context11) {
|
|
555
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
471
556
|
case 0:
|
|
472
|
-
env =
|
|
557
|
+
env = _args11.length > 0 && _args11[0] !== undefined ? _args11[0] : process.env;
|
|
473
558
|
NPM_TOKEN = env.NPM_TOKEN;
|
|
474
559
|
if (!NPM_TOKEN) {
|
|
475
|
-
|
|
560
|
+
_context11.next = 1;
|
|
476
561
|
break;
|
|
477
562
|
}
|
|
478
|
-
return
|
|
563
|
+
return _context11.abrupt("return", NPM_TOKEN);
|
|
479
564
|
case 1:
|
|
480
|
-
|
|
565
|
+
_context11.prev = 1;
|
|
481
566
|
homedir = _os["default"].homedir();
|
|
482
|
-
|
|
567
|
+
_context11.next = 2;
|
|
483
568
|
return _promises["default"].readFile("".concat(homedir, "/.npmrc"), 'utf8');
|
|
484
569
|
case 2:
|
|
485
|
-
npmrc =
|
|
570
|
+
npmrc = _context11.sent;
|
|
486
571
|
match = /registry\.npmjs\.org\/:_authToken=(.+)/.exec(npmrc);
|
|
487
572
|
if (!match) {
|
|
488
|
-
|
|
573
|
+
_context11.next = 3;
|
|
489
574
|
break;
|
|
490
575
|
}
|
|
491
|
-
return
|
|
576
|
+
return _context11.abrupt("return", match[1]);
|
|
492
577
|
case 3:
|
|
493
|
-
|
|
578
|
+
_context11.next = 5;
|
|
494
579
|
break;
|
|
495
580
|
case 4:
|
|
496
|
-
|
|
497
|
-
|
|
581
|
+
_context11.prev = 4;
|
|
582
|
+
_t15 = _context11["catch"](1);
|
|
498
583
|
case 5:
|
|
499
584
|
throw new Error('Missing process.env.NPM_TOKEN or entry in ~/.npmrc');
|
|
500
585
|
case 6:
|
|
501
586
|
case "end":
|
|
502
|
-
return
|
|
587
|
+
return _context11.stop();
|
|
503
588
|
}
|
|
504
|
-
},
|
|
589
|
+
}, _callee11, null, [[1, 4]]);
|
|
505
590
|
}));
|
|
506
591
|
function getNpmToken() {
|
|
507
592
|
return _getNpmToken.apply(this, arguments);
|
package/ECRDeployer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECRDeployer.js","names":["_clientEcr","require","_promisifyChildProcess","_promises","_interopRequireDefault","_path","_clientSts","_once","_loginToECR","_os","ECRDeployer","exports","options","_this","_classCallCheck2","_defineProperty2","once","_asyncToGenerator2","_regenerator","mark","_callee","sts","_yield$sts$send","Account","wrap","_context","prev","next","STSClient","awsConfig","send","GetCallerIdentityCommand","sent","Error","abrupt","stop","_createClass2","key","value","_getBranch","_callee2","_t","_context2","process","env","OVERRIDE_ECR_BRANCH_TAG","spawn","encoding","stdout","trim","getBranch","apply","arguments","_getCommitHash","_callee3","_context3","getCommitHash","_getRegion","_callee4","ecr","region","_context4","ECRClient","config","getRegion","_getECRHost","_callee5","_t2","_t3","_context5","getAWSAccountId","concat","call","getECRHost","_getProjectPackageJson","_callee7","_yield$import","findUp","file","_t6","_t7","_t8","_context7","_ref2","_callee6","dir","_t4","_t5","_context6","test","path","posix","normalize","fs","stat","join","then","s","isFile","undefined","_x","JSON","readFile","parse","contents","getProjectPackageJson","_getDockerTags","_callee8","_yield$Promise$all","_yield$Promise$all2","commitHash","branch","packageJson","base","result","_this$options$release","releaseBranches","version","_context8","Promise","all","_slicedToArray2","repositoryName","latest","includes","OVERRIDE_ECR_VERSION_TAG","relative","cwd","getDockerTags","_push","_callee9","_yield$Promise$all3","_yield$Promise$all4","ecrHost","_t9","_context9","loginToECR","stdio","push","_release","_callee0","_yield$Promise$all5","_yield$Promise$all6","tags","_yield$ecr$send","_yield$ecr$send$image","_yield$ecr$send$image2","_yield$ecr$send$image3","image","imageManifest","_i","_arr","_tags$key","tag","_t0","_context0","BatchGetImageCommand","imageIds","imageTag","images","Object","keys","length","replace","console","error","PutImageCommand","substring","indexOf","code","release","_getNpmToken","_callee1","NPM_TOKEN","homedir","npmrc","match","_args1","_t1","_context1","os","exec","getNpmToken"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ECRDeployer.js","names":["_clientEcr","require","_promisifyChildProcess","_promises","_interopRequireDefault","_path","_clientSts","_once","_loginToECR","_os","ECRDeployer","exports","options","_this","_classCallCheck2","_defineProperty2","once","_asyncToGenerator2","_regenerator","mark","_callee","sts","_yield$sts$send","Account","wrap","_context","prev","next","STSClient","awsConfig","send","GetCallerIdentityCommand","sent","Error","abrupt","stop","_createClass2","key","value","_getBranch","_callee2","_t","_context2","process","env","OVERRIDE_ECR_BRANCH_TAG","spawn","encoding","stdout","trim","getBranch","apply","arguments","_getCommitHash","_callee3","_context3","getCommitHash","_getRegion","_callee4","ecr","region","_context4","ECRClient","config","getRegion","_getECRHost","_callee5","_t2","_t3","_context5","getAWSAccountId","concat","call","getECRHost","_getProjectPackageJson","_callee7","_yield$import","findUp","file","_t6","_t7","_t8","_context7","_ref2","_callee6","dir","_t4","_t5","_context6","test","path","posix","normalize","fs","stat","join","then","s","isFile","undefined","_x","JSON","readFile","parse","contents","getProjectPackageJson","_getLocalDockerTag","_callee8","_context8","getDockerTags","commitHash","getLocalDockerTag","_build","_callee9","args","_options","_options$path","_options2","_yield$Promise$all","_yield$Promise$all2","npmToken","tag","_t9","_t0","_t1","_t10","_t11","_t12","_context9","Array","isArray","Promise","all","noNpmTokenArg","getNpmToken","_slicedToArray2","_toConsumableArray2","stdio","build","_x2","_x3","_getDockerTags","_callee0","_yield$Promise$all3","_yield$Promise$all4","branch","packageJson","base","result","_this$options$release","releaseBranches","version","_context0","repositoryName","latest","includes","OVERRIDE_ECR_VERSION_TAG","relative","cwd","_push","_callee1","_yield$Promise$all5","_yield$Promise$all6","ecrHost","_t13","_context1","loginToECR","push","_release","_callee10","_yield$Promise$all7","_yield$Promise$all8","tags","_yield$ecr$send","_yield$ecr$send$image","_yield$ecr$send$image2","_yield$ecr$send$image3","image","imageManifest","_i","_arr","_tags$key","_t14","_context10","BatchGetImageCommand","imageIds","imageTag","images","Object","keys","length","replace","console","error","PutImageCommand","substring","indexOf","code","release","_getNpmToken","_callee11","NPM_TOKEN","homedir","npmrc","match","_args11","_t15","_context11","os","exec"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/ECRDeployer.mjs
CHANGED
|
@@ -6,12 +6,21 @@ import { GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts';
|
|
|
6
6
|
import { once } from "./once.mjs";
|
|
7
7
|
import loginToECR from "./loginToECR.mjs";
|
|
8
8
|
import os from 'os';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Options for {@link ECRDeployer#build}
|
|
12
|
+
*/
|
|
13
|
+
|
|
9
14
|
/**
|
|
10
15
|
* Class that implements our conventional process for deploying docker images to ECR.
|
|
11
16
|
*
|
|
12
|
-
* The CI build step should build the docker image (you may want to use {@link
|
|
13
|
-
*
|
|
14
|
-
* ECR tagged with the git
|
|
17
|
+
* The CI build step should build the docker image (you may want to use {@link build},
|
|
18
|
+
* or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
|
|
19
|
+
* yourself) and then call {@link push} to push the image to ECR tagged with the git
|
|
20
|
+
* commit hash.
|
|
21
|
+
*
|
|
22
|
+
* By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
|
|
23
|
+
* if not you can call `build({ noNpmTokenArg: true })`.
|
|
15
24
|
*
|
|
16
25
|
* The CI release step should call {@link release} to add tags for the git branch and
|
|
17
26
|
* the `version` in your `package.json`.
|
|
@@ -69,6 +78,20 @@ export class ECRDeployer {
|
|
|
69
78
|
contents: JSON.parse(await fs.readFile(file, 'utf8'))
|
|
70
79
|
};
|
|
71
80
|
}
|
|
81
|
+
async getLocalDockerTag() {
|
|
82
|
+
return (await this.getDockerTags()).commitHash;
|
|
83
|
+
}
|
|
84
|
+
async build(args, options) {
|
|
85
|
+
var _options, _options2;
|
|
86
|
+
if (!Array.isArray(args)) {
|
|
87
|
+
options = args;
|
|
88
|
+
args = [];
|
|
89
|
+
}
|
|
90
|
+
const [npmToken, tag] = await Promise.all([(_options = options) !== null && _options !== void 0 && _options.noNpmTokenArg ? undefined : this.getNpmToken(), this.getLocalDockerTag()]);
|
|
91
|
+
await spawn('docker', ['build', ((_options2 = options) === null || _options2 === void 0 ? void 0 : _options2.path) ?? '.', ...(npmToken ? ['--build-arg', `NPM_TOKEN=${await this.getNpmToken()}`] : []), '--tag', tag, ...args], {
|
|
92
|
+
stdio: 'inherit'
|
|
93
|
+
});
|
|
94
|
+
}
|
|
72
95
|
async getDockerTags() {
|
|
73
96
|
const [commitHash, branch, packageJson] = await Promise.all([this.getCommitHash(), this.getBranch(), this.getProjectPackageJson()]);
|
|
74
97
|
const base = this.options.repositoryName;
|
|
@@ -107,7 +130,9 @@ export class ECRDeployer {
|
|
|
107
130
|
stdio: 'inherit'
|
|
108
131
|
});
|
|
109
132
|
}
|
|
110
|
-
await spawn('docker', ['push', `${ecrHost}/${commitHash}`]
|
|
133
|
+
await spawn('docker', ['push', `${ecrHost}/${commitHash}`], {
|
|
134
|
+
stdio: 'inherit'
|
|
135
|
+
});
|
|
111
136
|
}
|
|
112
137
|
async release() {
|
|
113
138
|
const [commitHash, ecrHost, tags] = await Promise.all([this.getCommitHash(), this.getECRHost(), this.getDockerTags()]);
|
package/ECRDeployer.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ECRDeployer.mjs","names":["BatchGetImageCommand","ECRClient","PutImageCommand","spawn","fs","path","GetCallerIdentityCommand","STSClient","once","loginToECR","os","ECRDeployer","options","constructor","getBranch","process","env","OVERRIDE_ECR_BRANCH_TAG","encoding","stdout","trim","getCommitHash","getAWSAccountId","sts","awsConfig","Account","send","Error","getRegion","ecr","region","config","getECRHost","getProjectPackageJson","findUp","file","dir","test","posix","normalize","stat","join","then","s","isFile","undefined","contents","JSON","parse","readFile","getDockerTags","commitHash","
|
|
1
|
+
{"version":3,"file":"ECRDeployer.mjs","names":["BatchGetImageCommand","ECRClient","PutImageCommand","spawn","fs","path","GetCallerIdentityCommand","STSClient","once","loginToECR","os","ECRDeployer","options","constructor","getBranch","process","env","OVERRIDE_ECR_BRANCH_TAG","encoding","stdout","trim","getCommitHash","getAWSAccountId","sts","awsConfig","Account","send","Error","getRegion","ecr","region","config","getECRHost","getProjectPackageJson","findUp","file","dir","test","posix","normalize","stat","join","then","s","isFile","undefined","contents","JSON","parse","readFile","getLocalDockerTag","getDockerTags","commitHash","build","args","_options","_options2","Array","isArray","npmToken","tag","Promise","all","noNpmTokenArg","getNpmToken","stdio","branch","packageJson","base","repositoryName","result","latest","releaseBranches","includes","version","OVERRIDE_ECR_VERSION_TAG","relative","cwd","push","ecrHost","release","tags","images","image","imageIds","imageTag","imageManifest","key","Object","keys","_tags$key","replace","console","error","substring","indexOf","code","NPM_TOKEN","homedir","npmrc","match","exec"],"sources":["src/ECRDeployer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/ECRDeployer.ts
CHANGED
|
@@ -25,12 +25,30 @@ export interface ECRDeployerOptions {
|
|
|
25
25
|
repositoryName: string
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
/**
|
|
29
|
+
* Options for {@link ECRDeployer#build}
|
|
30
|
+
*/
|
|
31
|
+
export interface BuildOptions {
|
|
32
|
+
/**
|
|
33
|
+
* the path to build (defaults to `.`)
|
|
34
|
+
*/
|
|
35
|
+
path?: string
|
|
36
|
+
/**
|
|
37
|
+
* If `true`, doesn't pass `--build-arg NPM_TOKEN=...`
|
|
38
|
+
*/
|
|
39
|
+
noNpmTokenArg?: boolean
|
|
40
|
+
}
|
|
41
|
+
|
|
28
42
|
/**
|
|
29
43
|
* Class that implements our conventional process for deploying docker images to ECR.
|
|
30
44
|
*
|
|
31
|
-
* The CI build step should build the docker image (you may want to use {@link
|
|
32
|
-
*
|
|
33
|
-
* ECR tagged with the git
|
|
45
|
+
* The CI build step should build the docker image (you may want to use {@link build},
|
|
46
|
+
* or {@link getLocalDockerTag} and {@link getNpmToken} if running the build command
|
|
47
|
+
* yourself) and then call {@link push} to push the image to ECR tagged with the git
|
|
48
|
+
* commit hash.
|
|
49
|
+
*
|
|
50
|
+
* By default {@link build} assumes that your `Dockerfile` takes an `NPM_TOKEN` arg,
|
|
51
|
+
* if not you can call `build({ noNpmTokenArg: true })`.
|
|
34
52
|
*
|
|
35
53
|
* The CI release step should call {@link release} to add tags for the git branch and
|
|
36
54
|
* the `version` in your `package.json`.
|
|
@@ -58,9 +76,7 @@ export class ECRDeployer {
|
|
|
58
76
|
|
|
59
77
|
async getCommitHash() {
|
|
60
78
|
return (
|
|
61
|
-
await spawn('git', ['rev-parse', 'HEAD'], {
|
|
62
|
-
encoding: 'utf8',
|
|
63
|
-
})
|
|
79
|
+
await spawn('git', ['rev-parse', 'HEAD'], { encoding: 'utf8' })
|
|
64
80
|
).stdout.trim()
|
|
65
81
|
}
|
|
66
82
|
|
|
@@ -107,6 +123,42 @@ export class ECRDeployer {
|
|
|
107
123
|
return { file, contents: JSON.parse(await fs.readFile(file, 'utf8')) }
|
|
108
124
|
}
|
|
109
125
|
|
|
126
|
+
async getLocalDockerTag() {
|
|
127
|
+
return (await this.getDockerTags()).commitHash
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
async build(options?: BuildOptions): Promise<void>
|
|
131
|
+
async build(args: string[], options?: BuildOptions): Promise<void>
|
|
132
|
+
async build(
|
|
133
|
+
args?: string[] | BuildOptions,
|
|
134
|
+
options?: BuildOptions
|
|
135
|
+
): Promise<void> {
|
|
136
|
+
if (!Array.isArray(args)) {
|
|
137
|
+
options = args
|
|
138
|
+
args = []
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const [npmToken, tag] = await Promise.all([
|
|
142
|
+
options?.noNpmTokenArg ? undefined : this.getNpmToken(),
|
|
143
|
+
this.getLocalDockerTag(),
|
|
144
|
+
])
|
|
145
|
+
|
|
146
|
+
await spawn(
|
|
147
|
+
'docker',
|
|
148
|
+
[
|
|
149
|
+
'build',
|
|
150
|
+
options?.path ?? '.',
|
|
151
|
+
...(npmToken ?
|
|
152
|
+
['--build-arg', `NPM_TOKEN=${await this.getNpmToken()}`]
|
|
153
|
+
: []),
|
|
154
|
+
'--tag',
|
|
155
|
+
tag,
|
|
156
|
+
...args,
|
|
157
|
+
],
|
|
158
|
+
{ stdio: 'inherit' }
|
|
159
|
+
)
|
|
160
|
+
}
|
|
161
|
+
|
|
110
162
|
async getDockerTags(): Promise<{
|
|
111
163
|
latest: string
|
|
112
164
|
branch: string
|
|
@@ -158,12 +210,12 @@ export class ECRDeployer {
|
|
|
158
210
|
await spawn(
|
|
159
211
|
'docker',
|
|
160
212
|
['tag', '-f', commitHash, `${ecrHost}/${commitHash}`],
|
|
161
|
-
{
|
|
162
|
-
stdio: 'inherit',
|
|
163
|
-
}
|
|
213
|
+
{ stdio: 'inherit' }
|
|
164
214
|
)
|
|
165
215
|
}
|
|
166
|
-
await spawn('docker', ['push', `${ecrHost}/${commitHash}`]
|
|
216
|
+
await spawn('docker', ['push', `${ecrHost}/${commitHash}`], {
|
|
217
|
+
stdio: 'inherit',
|
|
218
|
+
})
|
|
167
219
|
}
|
|
168
220
|
|
|
169
221
|
async release() {
|