This commit is contained in:
124
build/ci/.drone.yml
Normal file
124
build/ci/.drone.yml
Normal file
@@ -0,0 +1,124 @@
|
||||
kind: pipeline
|
||||
name: default
|
||||
|
||||
workspace:
|
||||
base: /go
|
||||
path: src/gitbase.de/apairon/mark2web
|
||||
|
||||
steps:
|
||||
- name: build for linux
|
||||
image: golang:latest
|
||||
environment:
|
||||
CGO_ENABLED: 0
|
||||
GOOS: linux
|
||||
GOARCH: amd64
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- git fetch --tags
|
||||
- scripts/build.sh
|
||||
when:
|
||||
event: [ push, tag ]
|
||||
|
||||
- name: test with example content
|
||||
image: alpine
|
||||
commands:
|
||||
- dist/mark2web-`cat build/VERSION`-linux-amd64 -version
|
||||
- dist/mark2web-`cat build/VERSION`-linux-amd64 -in example -out example_out -create -logLevel debug
|
||||
when:
|
||||
event: [ push, tag ]
|
||||
|
||||
- name: build for freebsd
|
||||
image: golang:latest
|
||||
environment:
|
||||
CGO_ENABLED: 0
|
||||
GOOS: freebsd
|
||||
GOARCH: amd64
|
||||
commands:
|
||||
- scripts/build.sh
|
||||
when:
|
||||
event: [ tag ]
|
||||
|
||||
- name: build for macos
|
||||
image: golang:latest
|
||||
environment:
|
||||
CGO_ENABLED: 0
|
||||
GOOS: darwin
|
||||
GOARCH: amd64
|
||||
commands:
|
||||
- scripts/build.sh
|
||||
when:
|
||||
event: [ tag ]
|
||||
|
||||
- name: build for windows
|
||||
image: golang:latest
|
||||
environment:
|
||||
CGO_ENABLED: 0
|
||||
GOOS: windows
|
||||
GOARCH: amd64
|
||||
FILEEXT: .exe
|
||||
commands:
|
||||
- scripts/build.sh
|
||||
when:
|
||||
event: [ tag ]
|
||||
|
||||
- name: build docker image
|
||||
image: docker
|
||||
commands:
|
||||
- cp dist/mark2web-`cat VERSION`-linux-amd64 mark2web
|
||||
- docker build -t apairon/mark2web build/package
|
||||
volumes:
|
||||
- name: docker
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
branch: [ master ]
|
||||
event: [ push ]
|
||||
|
||||
- name: deploy website
|
||||
image: apairon/mark2web:latest
|
||||
pull: never
|
||||
environment:
|
||||
RSYNC_PASS:
|
||||
from_secret: rsync_pass
|
||||
commands:
|
||||
- /mark2web -version
|
||||
- /mark2web -in website -out html -create -logLevel info
|
||||
- '
|
||||
rsync -rlcgD -i -u -v --stats
|
||||
--delete
|
||||
-e "sshpass -p $${RSYNC_PASS} ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 22222"
|
||||
html/
|
||||
basiskonfiguration_mark2web_rsync@deploy.bc1.basehosts.de:./'
|
||||
when:
|
||||
branch: [ master ]
|
||||
event: [ promote, push ]
|
||||
target: [ "", website ]
|
||||
|
||||
- name: prepare release
|
||||
image: apairon/mark2web:latest
|
||||
pull: never
|
||||
commands:
|
||||
- gzip dist/*
|
||||
- ls -la dist/
|
||||
when:
|
||||
event: [ tag ]
|
||||
|
||||
- name: gitea release
|
||||
image: plugins/gitea-release
|
||||
settings:
|
||||
api_key:
|
||||
from_secret: gitea_token
|
||||
base_url: https://gitbase.de
|
||||
files:
|
||||
- dist/*
|
||||
title: build/VERSION
|
||||
note: build/RELEASE.md
|
||||
checksum:
|
||||
- md5
|
||||
- sha256
|
||||
when:
|
||||
event: [ tag ]
|
||||
|
||||
volumes:
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
Reference in New Issue
Block a user