diff --git a/.circleci/config.yml b/.circleci/config.yml index 2d2287c..cf7ca79 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,11 @@ version: 2.1 +executors: + docker-publisher: + environment: + IMAGE_NAME: jeffyshewan/build-on-ci + docker: + - image: circleci/buildpack-deps:stretch + workflows: std: @@ -18,6 +25,9 @@ workflows: - lint - test - e2e-test + - publish: + requires: + - build jobs: yarn: @@ -89,13 +99,33 @@ jobs: - ./node_modules build: - environment: - IMAGE_NAME: jeffyshewan/build-on-ci - docker: - - image: "circleci/buildpack-deps:stretch" + executor: docker-publisher steps: - checkout - setup_remote_docker - run: - name: Build and publish on DockerHub - command: docker build -t $IMAGE_NAME:latest . \ No newline at end of file + name: Build and publish to DockerHub + command: docker build -t $IMAGE_NAME:latest . + - run: + name: Archive Docker image + command: docker save -o image.tar $IMAGE_NAME + - persist_to_workspace: + root: . + paths: + - ./image.tar + publish: + executor: docker-publisher + steps: + - attach_workspace: + at: /tmp/workspace + - setup_remote_docker + + - run: + name: Load archived Docker image + command: docker load -i /tmp/workspace/image.tar + + - run: + name: Publish Docker Image to DockerHub + command: | + echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin + docker push $IMAGE_NAME:latest \ No newline at end of file