Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
4dffa31f7d | |||
6904088af8 | |||
b9618a86a6 | |||
f1d232a333 | |||
aa66a3bb86 | |||
fbaeb63e4d | |||
d60e6a4aa6 | |||
90e3e24803 | |||
2372ad7681 | |||
02490ef011 | |||
2388da50a1 | |||
141358595e |
@ -1,31 +1,24 @@
|
|||||||
image: hosttoday/ht-docker-dbase:npmts
|
image: hosttoday/ht-docker-dbase:npmts
|
||||||
|
services:
|
||||||
|
- docker:dind
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
- release
|
- release
|
||||||
|
- trigger
|
||||||
|
|
||||||
testLEGACY:
|
test:
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- npmci test legacy
|
- npm install
|
||||||
tags:
|
- npm test
|
||||||
- docker
|
|
||||||
|
|
||||||
testLTS:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npmci test lts
|
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
|
|
||||||
testSTABLE:
|
|
||||||
stage: test
|
|
||||||
script:
|
|
||||||
- npmci test stable
|
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
- lossless
|
||||||
|
- priv
|
||||||
|
|
||||||
release:
|
release:
|
||||||
|
image: hosttoday/ht-docker-node:npmts
|
||||||
stage: release
|
stage: release
|
||||||
environment: npmjs-com_registry
|
environment: npmjs-com_registry
|
||||||
script:
|
script:
|
||||||
@ -34,3 +27,17 @@ release:
|
|||||||
- tags
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
|
- lossless
|
||||||
|
- priv
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
image: hosttoday/ht-docker-node:npmts
|
||||||
|
stage: trigger
|
||||||
|
script:
|
||||||
|
- npmci trigger
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
- lossless
|
||||||
|
- priv
|
||||||
|
36
dist/npmdocker.docker.js
vendored
36
dist/npmdocker.docker.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "npmdocker",
|
"name": "npmdocker",
|
||||||
"version": "1.1.1",
|
"version": "1.1.5",
|
||||||
"description": "develop npm modules cross platform with docker",
|
"description": "develop npm modules cross platform with docker",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist/index.d.ts",
|
||||||
|
@ -85,18 +85,18 @@ let runDockerImage = () => {
|
|||||||
if(config.dockerSock){
|
if(config.dockerSock){
|
||||||
dockerSockString = `-v /var/run/docker.sock:/var/run/docker.sock`
|
dockerSockString = `-v /var/run/docker.sock:/var/run/docker.sock`
|
||||||
};
|
};
|
||||||
|
plugins.beautylog.log("now running Dockerimage");
|
||||||
config.exitCode = plugins.shelljs.exec(`docker run ${dockerProjectMountString} ${dockerSockString} --name ${dockerData.containerName} ${dockerData.imageTag}`).code;
|
config.exitCode = plugins.shelljs.exec(`docker run ${dockerProjectMountString} ${dockerSockString} --name ${dockerData.containerName} ${dockerData.imageTag}`).code;
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise;
|
return done.promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
let deleteDockerContainter = () => {
|
let deleteDockerContainer = () => {
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
plugins.shelljs.exec(`docker rm ${dockerData.containerName}`,{
|
plugins.shelljs.exec(`docker rm ${dockerData.containerName}`,{
|
||||||
silent:true
|
silent:true
|
||||||
});
|
});
|
||||||
done.resolve();
|
done.resolve();
|
||||||
plugins.beautylog.ok("removed test container!");
|
|
||||||
return done.promise
|
return done.promise
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -105,17 +105,36 @@ let deleteDockerImage = () => {
|
|||||||
plugins.shelljs.exec(`docker rmi ${dockerData.imageTag}`,{
|
plugins.shelljs.exec(`docker rmi ${dockerData.imageTag}`,{
|
||||||
silent:true
|
silent:true
|
||||||
});
|
});
|
||||||
plugins.beautylog.ok("removed test image!");
|
|
||||||
plugins.beautylog.ok("Cleaned up!");
|
|
||||||
done.resolve();
|
done.resolve();
|
||||||
return done.promise
|
return done.promise
|
||||||
};
|
};
|
||||||
|
|
||||||
let deleteBuildContext = () => {
|
let deleteBuildContext = () => {
|
||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
plugins.smartfile.fs.removeSync(paths.buildContextDir);
|
plugins.smartfile.fs.remove(paths.buildContextDir)
|
||||||
done.resolve();
|
.then(done.resolve);
|
||||||
return done.promise;
|
return done.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
let preClean = () => {
|
||||||
|
let done = plugins.q.defer();
|
||||||
|
deleteDockerImage()
|
||||||
|
.then(deleteDockerContainer)
|
||||||
|
.then(() => {
|
||||||
|
plugins.beautylog.ok("ensured clean Docker environment!");
|
||||||
|
done.resolve();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
let postClean = () => {
|
||||||
|
let done = plugins.q.defer();
|
||||||
|
deleteDockerContainer()
|
||||||
|
.then(deleteDockerImage)
|
||||||
|
.then(deleteBuildContext)
|
||||||
|
.then(() => {
|
||||||
|
plugins.beautylog.ok("cleaned up!");
|
||||||
|
done.resolve();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -124,12 +143,11 @@ export let run = (configArg) => {
|
|||||||
let done = plugins.q.defer();
|
let done = plugins.q.defer();
|
||||||
config = configArg;
|
config = configArg;
|
||||||
checkDocker()
|
checkDocker()
|
||||||
|
.then(preClean)
|
||||||
.then(buildDockerFile)
|
.then(buildDockerFile)
|
||||||
.then(buildDockerImage)
|
.then(buildDockerImage)
|
||||||
.then(runDockerImage)
|
.then(runDockerImage)
|
||||||
.then(deleteDockerContainter)
|
.then(postClean)
|
||||||
.then(deleteDockerImage)
|
|
||||||
.then(deleteBuildContext)
|
|
||||||
.then(() => {
|
.then(() => {
|
||||||
done.resolve(config);
|
done.resolve(config);
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user