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