After build sucess, we want to push the build docker image to dockerhub. For that we need to login dockerhub provide username and password.
Of course, we don't want to public our password. They how can we do that.
.travis.yml:
language: node_js node_js: - 13 services: - docker # Pre-testing installs install: - echo "nothing needs to be installed!" # Scripts to be run such as tests before_script: - echo "no tests" script: - docker --version # print the version for logging - docker build -t simple-node . - docker tag simple-node zhentian/simple-node:latest # Tasks to perform after the process is successful. Formatting the Docker username and password as below enables you to programmatically log in without having the password exposed in logs. after_success: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker push zhentian/simple-node
Basicly, we use:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
`$DOCKER_PASSWORD` was set as env variable in Travis:
The output of password will be the input of `--password-stdin`.