2021-08-05 23:36:48 -04:00
|
|
|
---
|
|
|
|
global-variables:
|
2021-08-06 20:54:07 -04:00
|
|
|
release: &release ${DRONE_BRANCH##/**}
|
2021-08-05 23:36:48 -04:00
|
|
|
environment: &environment
|
|
|
|
JAVA_VERSION: 11
|
|
|
|
GRADLE_VERSION: 7.1
|
|
|
|
CRE_VERSION: dev-${DRONE_BUILD_NUMBER}
|
|
|
|
CRE_ARTIFACT_NAME: ColorRecipesExplorer
|
|
|
|
CRE_REGISTRY_IMAGE: registry.fyloz.dev:5443/colorrecipesexplorer/backend
|
|
|
|
CRE_PORT: 9101
|
2021-08-06 20:54:07 -04:00
|
|
|
CRE_RELEASE: *release
|
2021-08-05 23:36:48 -04:00
|
|
|
gradle-image: &gradle-image gradle:7.1-jdk11
|
|
|
|
alpine-image: &alpine-image alpine:latest
|
|
|
|
docker-registry-repo: &docker-registry-repo registry.fyloz.dev:5443/colorrecipesexplorer/backend
|
|
|
|
|
2021-07-31 19:13:20 -04:00
|
|
|
kind: pipeline
|
|
|
|
name: default
|
2021-08-01 00:28:40 -04:00
|
|
|
type: docker
|
|
|
|
|
2021-07-31 19:13:20 -04:00
|
|
|
steps:
|
2021-08-06 20:54:07 -04:00
|
|
|
- name: gradle-test
|
|
|
|
image: *gradle-image
|
|
|
|
commands:
|
|
|
|
- gradle test
|
|
|
|
when:
|
|
|
|
branch: develop
|
|
|
|
|
|
|
|
- name: set-docker-tags-latest
|
2021-08-05 23:36:48 -04:00
|
|
|
image: *alpine-image
|
|
|
|
environment:
|
|
|
|
<<: *environment
|
2021-08-01 17:27:16 -04:00
|
|
|
commands:
|
2021-08-06 20:54:07 -04:00
|
|
|
- echo -n "latest" > .tags
|
2021-08-04 21:34:18 -04:00
|
|
|
when:
|
|
|
|
branch: develop
|
2021-08-01 00:28:40 -04:00
|
|
|
|
2021-08-06 20:54:07 -04:00
|
|
|
- name: set-docker-tags-release
|
|
|
|
image: *alpine-image
|
|
|
|
environment:
|
|
|
|
<<: *environment
|
2021-08-01 00:28:40 -04:00
|
|
|
commands:
|
2021-08-06 20:54:07 -04:00
|
|
|
- echo -n "latest-release,$CRE_RELEASE" > .tags
|
2021-08-01 00:28:40 -04:00
|
|
|
when:
|
2021-08-06 20:54:07 -04:00
|
|
|
branch: release/**
|
2021-08-01 00:28:40 -04:00
|
|
|
|
2021-08-06 20:54:07 -04:00
|
|
|
- name: containerize-dev
|
2021-08-01 00:28:40 -04:00
|
|
|
image: plugins/docker
|
2021-08-05 23:36:48 -04:00
|
|
|
environment:
|
|
|
|
<<: *environment
|
2021-08-01 00:28:40 -04:00
|
|
|
settings:
|
2021-08-05 23:36:48 -04:00
|
|
|
build_args_from_env:
|
|
|
|
- GRADLE_VERSION
|
|
|
|
- JAVA_VERSION
|
|
|
|
- CRE_VERSION
|
|
|
|
- CRE_PORT
|
|
|
|
repo: *docker-registry-repo
|
2021-08-01 00:28:40 -04:00
|
|
|
when:
|
2021-08-06 20:54:07 -04:00
|
|
|
branch: develop
|
|
|
|
|
|
|
|
- name: containerize-release
|
|
|
|
image: plugins/docker
|
|
|
|
environment:
|
|
|
|
<<: *environment
|
|
|
|
settings:
|
|
|
|
build_args_from_env:
|
|
|
|
- GRADLE_VERSION
|
|
|
|
- JAVA_VERSION
|
|
|
|
- CRE_PORT
|
|
|
|
build-args:
|
|
|
|
CRE_VERSION: *release
|
|
|
|
repo: *docker-registry-repo
|
|
|
|
when:
|
|
|
|
branch: release/**
|
2021-08-01 00:28:40 -04:00
|
|
|
|
|
|
|
- name: deploy
|
|
|
|
image: alpine:latest
|
|
|
|
environment:
|
2021-08-05 23:36:48 -04:00
|
|
|
<<: *environment
|
|
|
|
CRE_REGISTRY_IMAGE: *docker-registry-repo
|
2021-08-01 00:28:40 -04:00
|
|
|
DEPLOY_SERVER:
|
|
|
|
from_secret: deploy_server
|
|
|
|
DEPLOY_SERVER_USERNAME:
|
|
|
|
from_secret: deploy_server_username
|
|
|
|
DEPLOY_SERVER_SSH_PORT:
|
|
|
|
from_secret: deploy_server_ssh_port
|
|
|
|
DEPLOY_SERVER_SSH_KEY:
|
|
|
|
from_secret: deploy_server_ssh_key
|
2021-08-01 16:23:29 -04:00
|
|
|
DEPLOY_CONTAINER_NAME: cre_backend-${DRONE_BRANCH}
|
2021-08-01 00:28:40 -04:00
|
|
|
DEPLOY_SPRING_PROFILES: mysql,rest
|
|
|
|
DEPLOY_DATA_VOLUME: /var/cre/data
|
|
|
|
DEPLOY_CONFIG_VOLUME: /var/cre/config
|
|
|
|
commands:
|
|
|
|
- apk update
|
|
|
|
- apk add --no-cache openssh-client
|
|
|
|
- mkdir -p ~/.ssh
|
|
|
|
- echo "$DEPLOY_SERVER_SSH_KEY" | tr -d '\r' > ~/.ssh/id_rsa
|
|
|
|
- chmod 700 ~/.ssh/id_rsa
|
|
|
|
- eval $(ssh-agent -s)
|
|
|
|
- ssh-add ~/.ssh/id_rsa
|
|
|
|
- ssh-keyscan -p $DEPLOY_SERVER_SSH_PORT -H $DEPLOY_SERVER >> ~/.ssh/known_hosts
|
|
|
|
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
|
|
|
|
- ssh -p $DEPLOY_SERVER_SSH_PORT $DEPLOY_SERVER_USERNAME@$DEPLOY_SERVER "docker stop $DEPLOY_CONTAINER_NAME || true && docker rm $DEPLOY_CONTAINER_NAME || true"
|
2021-08-06 20:54:07 -04:00
|
|
|
- ssh -p $DEPLOY_SERVER_SSH_PORT $DEPLOY_SERVER_USERNAME@$DEPLOY_SERVER "docker pull $CRE_REGISTRY_IMAGE:$CRE_RELEASE"
|
|
|
|
- ssh -p $DEPLOY_SERVER_SSH_PORT $DEPLOY_SERVER_USERNAME@$DEPLOY_SERVER "docker run -d -p $CRE_PORT:9090 --name=$DEPLOY_CONTAINER_NAME -v $DEPLOY_DATA_VOLUME:/usr/bin/data -v $DEPLOY_CONFIG_VOLUME:/usr/bin/config -e spring_profiles_active=$DEPLOY_SPRING_PROFILES $CRE_REGISTRY_IMAGE:$CRE_RELEASE"
|
2021-08-01 00:28:40 -04:00
|
|
|
when:
|
2021-08-06 20:54:07 -04:00
|
|
|
branch: release/**
|
2021-08-01 00:28:40 -04:00
|
|
|
|
2021-08-05 23:42:50 -04:00
|
|
|
trigger:
|
|
|
|
branch:
|
|
|
|
- develop
|
|
|
|
- master
|
2021-08-05 23:40:49 -04:00
|
|
|
|
2021-08-01 00:28:40 -04:00
|
|
|
|