@@ -1,4 +1,12 @@
|
|||||||
version: 2
|
version: 2.1
|
||||||
|
|
||||||
|
executors:
|
||||||
|
docker-publisher:
|
||||||
|
environment:
|
||||||
|
IMAGE_NAME: outlinewiki/outline
|
||||||
|
docker:
|
||||||
|
- image: circleci/buildpack-deps:stretch
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
working_directory: ~/outline
|
working_directory: ~/outline
|
||||||
@@ -41,3 +49,87 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: build-webpack
|
name: build-webpack
|
||||||
command: yarn build:webpack
|
command: yarn build:webpack
|
||||||
|
build-image:
|
||||||
|
executor: docker-publisher
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- setup_remote_docker:
|
||||||
|
version: 20.10.6
|
||||||
|
- run:
|
||||||
|
name: Build Docker image
|
||||||
|
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-latest:
|
||||||
|
executor: docker-publisher
|
||||||
|
steps:
|
||||||
|
- attach_workspace:
|
||||||
|
at: /tmp/workspace
|
||||||
|
- setup_remote_docker:
|
||||||
|
version: 20.10.6
|
||||||
|
- run:
|
||||||
|
name: Load archived Docker image
|
||||||
|
command: docker load -i /tmp/workspace/image.tar
|
||||||
|
- run:
|
||||||
|
name: Publish Docker Image to Docker Hub
|
||||||
|
command: |
|
||||||
|
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
|
||||||
|
IMAGE_TAG=version-${CIRCLE_TAG/v/''}
|
||||||
|
docker tag $IMAGE_NAME:latest $IMAGE_NAME:$IMAGE_TAG
|
||||||
|
docker push $IMAGE_NAME:latest
|
||||||
|
docker push $IMAGE_NAME:$IMAGE_TAG
|
||||||
|
publish-tag:
|
||||||
|
executor: docker-publisher
|
||||||
|
steps:
|
||||||
|
- attach_workspace:
|
||||||
|
at: /tmp/workspace
|
||||||
|
- setup_remote_docker:
|
||||||
|
version: 20.10.6
|
||||||
|
- run:
|
||||||
|
name: Load archived Docker image
|
||||||
|
command: docker load -i /tmp/workspace/image.tar
|
||||||
|
- run:
|
||||||
|
name: Publish Docker Image to Docker Hub
|
||||||
|
command: |
|
||||||
|
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
|
||||||
|
IMAGE_TAG=version-${CIRCLE_TAG/v/''}
|
||||||
|
docker tag $IMAGE_NAME:latest $IMAGE_NAME:$IMAGE_TAG
|
||||||
|
docker push $IMAGE_NAME:$IMAGE_TAG
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
version: 2
|
||||||
|
build-and-test:
|
||||||
|
jobs:
|
||||||
|
- build:
|
||||||
|
filters:
|
||||||
|
tags:
|
||||||
|
ignore: /^v.*/
|
||||||
|
build-docker:
|
||||||
|
jobs:
|
||||||
|
- build-image:
|
||||||
|
filters:
|
||||||
|
tags:
|
||||||
|
only: /^v.*/
|
||||||
|
branches:
|
||||||
|
ignore: /.*/
|
||||||
|
- publish-latest:
|
||||||
|
requires:
|
||||||
|
- build-image
|
||||||
|
filters:
|
||||||
|
tags:
|
||||||
|
only: /^v\d+\.\d+\.\d+$/
|
||||||
|
branches:
|
||||||
|
ignore: /.*/
|
||||||
|
- publish-tag:
|
||||||
|
requires:
|
||||||
|
- build-image
|
||||||
|
filters:
|
||||||
|
tags:
|
||||||
|
only: /^v\d+\.\d+\.\d+-.*$/
|
||||||
|
branches:
|
||||||
|
ignore: /.*/
|
||||||
@@ -211,5 +211,5 @@
|
|||||||
"dot-prop": "^5.2.0",
|
"dot-prop": "^5.2.0",
|
||||||
"js-yaml": "^3.13.1"
|
"js-yaml": "^3.13.1"
|
||||||
},
|
},
|
||||||
"version": "0.57.0"
|
"version": "0.58.0-3"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user