Armin Friedl
428390b0e2
All checks were successful
continuous-integration/drone/push Build is passing
84 lines
2 KiB
YAML
84 lines
2 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: default
|
|
|
|
steps:
|
|
- name: build-service
|
|
image: maven:3.6-jdk-11
|
|
volumes:
|
|
- name: m2-cache
|
|
path: /root/.m2
|
|
environment:
|
|
NEXUS_USER:
|
|
from_secret: nexus_user
|
|
NEXUS_PASSWORD:
|
|
from_secret: nexus_password
|
|
commands:
|
|
- mkdir -p /root/.m2
|
|
- cp service/settings.xml /root/.m2/settings.xml
|
|
- cd service/fling
|
|
- mvn -Pprod clean deploy
|
|
|
|
- name: build-web
|
|
image: node:latest
|
|
volumes:
|
|
- name: node-cache
|
|
path: /drone/src/web/fling/node_modules
|
|
environment:
|
|
NEXUS_USER:
|
|
from_secret: nexus_user
|
|
NEXUS_PASSWORD:
|
|
from_secret: nexus_password
|
|
VERSION: 0.1.0-snapshot
|
|
commands:
|
|
- ls -al
|
|
- cd web/fling
|
|
- npm install && npm run build
|
|
- tar czf fling-web-$VERSION.tar.gz build/
|
|
- curl --user "$NEXUS_USER:$NEXUS_PASSWORD"
|
|
--upload-file ./fling-web-$VERSION.tar.gz
|
|
https://nexus.friedl.net/repository/build-artifacts/fling-web-$VERSION.tar.gz
|
|
|
|
- name: publish
|
|
image: plugins/docker
|
|
settings:
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
dockerfile: container/Dockerfile
|
|
context: ./container
|
|
repo: arminfriedl/fling
|
|
tags: 0.1.0-snapshot
|
|
|
|
- name: runservice
|
|
image: arminfriedl/fling:0.1.0-snapshot
|
|
pull: always
|
|
detach: true
|
|
|
|
- name: generate-clients
|
|
image: alpine
|
|
commands:
|
|
- apk add --update --no-cache openjdk11 npm
|
|
- sleep 20
|
|
- npm install @openapitools/openapi-generator-cli -g
|
|
- openapi-generator generate
|
|
-i http://runservice:3000/v3/api-docs
|
|
-g python
|
|
-o flingclient.py
|
|
--enable-post-process-file
|
|
- openapi-generator generate
|
|
-i http://runservice:3000/v3/api-docs
|
|
-g javascript
|
|
--additional-properties projectName=flinclient,usePromises=true
|
|
-o flingclient.js
|
|
--enable-post-process-file
|
|
- cd flingclient.js && npm install && npm run build && cd ..
|
|
|
|
volumes:
|
|
- name: m2-cache
|
|
host:
|
|
path: /var/services/drone/cache/fling/m2
|
|
- name: node-cache
|
|
host:
|
|
path: /var/services/drone/cache/fling/node
|