|
14 | 14 | - checkout
|
15 | 15 | - run:
|
16 | 16 | name: Build Docker image
|
17 |
| - command: | |
18 |
| - git describe --tags --always > version |
19 |
| - docker build -t bids/${CIRCLE_PROJECT_REPONAME,,} . |
20 |
| - mkdir -p ${HOME}/docker |
21 |
| - docker save "bids/${CIRCLE_PROJECT_REPONAME,,}" > ~/docker/image.tar |
22 |
| - # persist guessed branch so we can use it in deploy/tag |
23 |
| - BRANCH=$(git branch --contains tags/${CIRCLE_TAG}) |
24 |
| - echo -n ${BRANCH} > ~/docker/branch |
| 17 | + command: bash build_docker.sh |
25 | 18 | no_output_timeout: 30m # MCR is a large download
|
26 | 19 | - persist_to_workspace:
|
27 | 20 | root: /home/circleci
|
|
51 | 44 | - run: docker load -i /tmp/workspace/docker/image.tar
|
52 | 45 | - run:
|
53 | 46 | name: Publish Docker image
|
54 |
| - command: | |
55 |
| - if [[ -n "${CIRCLE_TAG}" ]]; then |
56 |
| - echo "${DOCKER_PASS}" | docker login --username "${DOCKER_USER}" --password-stdin |
57 |
| - # tag should always be X.Y.Z[-variant] |
58 |
| - docker tag bids/${CIRCLE_PROJECT_REPONAME,,} bids/${CIRCLE_PROJECT_REPONAME,,}:${CIRCLE_TAG} |
59 |
| - docker push bids/${CIRCLE_PROJECT_REPONAME,,}:${CIRCLE_TAG} |
60 |
| - # also publish tag for the corresponding matlab release version, which is the name of the current branch |
61 |
| - docker tag bids/${CIRCLE_PROJECT_REPONAME,,} bids/${CIRCLE_PROJECT_REPONAME,,}:${BRANCH} |
62 |
| - docker push bids/${CIRCLE_PROJECT_REPONAME,,}:${BRANCH} |
63 |
| - BRANCH=$(cat /tmp/workspace/docker/branch) |
64 |
| - # update major tag X.Y[-variant] to the latest in this branch |
65 |
| - MAJOR_TAG=$(echo "${CIRCLE_TAG}" | sed -rn 's#([[:digit:]]+).([[:digit:]]+).([[:digit:]]+)(.*)#\1.\2\4#p') |
66 |
| - if [[ -n "${MAJOR_TAG}" ]] ; then |
67 |
| - docker tag bids/${CIRCLE_PROJECT_REPONAME,,} bids/${CIRCLE_PROJECT_REPONAME,,}:${MAJOR_TAG} |
68 |
| - docker push bids/${CIRCLE_PROJECT_REPONAME,,}:${MAJOR_TAG} |
69 |
| - fi |
70 |
| - fi |
| 47 | + command: push_docker.sh |
| 48 | + |
71 | 49 | workflows:
|
72 | 50 | build-test-deploy:
|
73 | 51 | jobs:
|
|
0 commit comments