Headless CMS and Content Managment Hub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

168 lines
3.7 KiB

---
kind: pipeline
name: default
steps:
- name: test_pull_request
image: docker
commands:
- docker build -t squidex/squidex:test_pull_request .
volumes:
- name: docker1
path: /var/run/docker.sock
- name: docker2
path: /var/lib/docker
- name: nuget
path: /root/.nuget/packages/
when:
event:
- pull_request
- name: build_dev
image: docker
commands:
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker build -t squidex/squidex:dev -t squidex/squidex:dev-$${DRONE_BUILD_NUMBER} .
- docker push squidex/squidex:dev
- docker push squidex/squidex:dev-$${DRONE_BUILD_NUMBER}
volumes:
- name: docker1
path: /var/run/docker.sock
- name: docker2
path: /var/lib/docker
- name: nuget
path: /root/.nuget/packages/
environment:
DOCKER_USERNAME:
from_secret: DOCKER_USERNAME
DOCKER_PASSWORD:
from_secret: DOCKER_PASSWORD
when:
event:
- push
branch:
- master
- name: build_release
image: docker
commands:
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker build -t squidex/squidex:latest -t squidex/squidex:$${DRONE_TAG} .
- docker push squidex/squidex:latest
- docker push squidex/squidex:$${DRONE_TAG}
volumes:
- name: docker1
path: /var/run/docker.sock
- name: docker2
path: /var/lib/docker
- name: nuget
path: /root/.nuget/packages/
environment:
DOCKER_USERNAME:
from_secret: DOCKER_USERNAME
DOCKER_PASSWORD:
from_secret: DOCKER_PASSWORD
when:
event:
- tag
- name: build_binaries
image: docker
commands:
- docker build . -t squidex-build-image -f Dockerfile.build
- docker create --name squidex-build-container squidex-build-image
- docker cp squidex-build-container:/out /build
volumes:
- name: build
path: /build
- name: docker1
path: /var/run/docker.sock
- name: docker2
path: /var/lib/docker
- name: nuget
path: /root/.nuget/packages/
when:
event:
- tag
- name: binaries_zip
image: kramos/alpine-zip
commands:
- cd /build/out && zip -r /release/binaries.zip .
volumes:
- name: build
path: /build
- name: release
path: /release
when:
event:
- tag
- name: binaries_publish
image: plugins/github-release
settings:
api_key:
from_secret: github_apikey
files:
- /release/binaries.zip
volumes:
- name: release
path: /release
when:
event:
- tag
- name: slack
image: plugins/slack
settings:
webhook:
from_secret: slack_webhook
when:
status:
- failure
- success
- name: cleanup-build
image: docker
commands:
- docker rm squidex-build-container
- docker rmi squidex-build-image
volumes:
- name: docker1
path: /var/run/docker.sock
- name: docker2
path: /var/lib/docker
when:
status:
- failure
- success
event:
- tag
- name: cleanup
image: docker
commands:
- docker system prune -f
volumes:
- name: docker1
path: /var/run/docker.sock
- name: docker2
path: /var/lib/docker
when:
status:
- failure
volumes:
- name: build
temp: {}
- name: release
temp: {}
- name: docker1
host:
path: /var/run/docker.sock
- name: docker2
host:
path: /var/lib/docker
- name: nuget
host:
path: /var/lib/nuget