Add basic readme to run the docker publish with or without login (#4917)

add the tag to the docker image
publish the docker image
clean the docker image
This commit is contained in:
Maurizio Vitale
2019-07-10 18:07:22 +01:00
committed by GitHub
parent a6e18e6c1b
commit 05baabb8f5
2 changed files with 37 additions and 4 deletions

View File

@@ -31,3 +31,16 @@ npm install
adf-audit adf-audit
``` ```
### Docker publish
Move in the folder where you have your Dockerfile and run the command:
```bash
adf-cli docker-publish --dockerRepo "${docker_repository}" --dockerTags "${TAGS}" --pathProject "$(pwd)"
```
If you want to specify a different docker registry you can run
```bash
--loginCheck --loginUsername "username" --loginPassword "password" --loginRepo "quay.io"--dockerRepo "${docker_repository}" --dockerTags "${TAGS}" --pathProject "$(pwd)"
```

View File

@@ -61,10 +61,26 @@ function _loginPerform(args: PublishArgs, logger: logging.Logger) {
function _buildImagePerform(args: PublishArgs, tag: string, logger: logging.Logger) { function _buildImagePerform(args: PublishArgs, tag: string, logger: logging.Logger) {
logger.info('Perform docker build...'); logger.info('Perform docker build...');
logger.info('Path project for Dockerfile...' + args.pathProject); const response = _exec('docker', ['build', `-t=${args.dockerRepo}:${tag}`, args.pathProject], {}, logger);
logger.info(response);
}
const buildDockerRes = _exec('docker', ['build', `-t=${args.dockerRepo}:${tag}`, args.pathProject], {}, logger); function _tagImagePerform(args: PublishArgs, tag: string, logger: logging.Logger) {
logger.info(buildDockerRes); logger.info('Perform docker tag...');
const response = _exec('docker', ['tag', `${args.dockerRepo}:${tag}`, `${args.dockerRepo}:${tag}`], {}, logger);
logger.info(response);
}
function _pushImagePerform(args: PublishArgs, tag: string, logger: logging.Logger) {
logger.info('Perform docker push...');
const response = _exec('docker', ['push', `${args.dockerRepo}`], {}, logger);
logger.info(response);
}
function _cleanImagePerform(args: PublishArgs, tag: string, logger: logging.Logger) {
logger.info('Perform docker clean...');
const response = _exec('docker', ['rmi', `-f=${args.dockerRepo}:${tag}`], {}, logger);
logger.info(response);
} }
export default async function (args: PublishArgs, logger: logging.Logger) { export default async function (args: PublishArgs, logger: logging.Logger) {
@@ -74,8 +90,12 @@ export default async function (args: PublishArgs, logger: logging.Logger) {
if (args.dockerTags !== undefined) { if (args.dockerTags !== undefined) {
args.dockerTags.split(',').forEach( (tag) => { args.dockerTags.split(',').forEach( (tag) => {
logger.info(`Building docker image for tag ${tag} ...`); logger.info(`Analyzing tag:${tag} ...`);
_buildImagePerform(args, tag, logger); _buildImagePerform(args, tag, logger);
_tagImagePerform(args, tag, logger);
_pushImagePerform(args, tag, logger);
_cleanImagePerform(args, tag, logger);
logger.info(`tag:${tag} done`);
}); });
} }