Documentation/.drone.yml

85 lines
2.6 KiB
YAML
Raw Permalink Normal View History

2021-08-16 21:34:57 -04:00
---
global-variables:
2022-07-21 10:43:25 -04:00
release: &release ${DRONE_TAG}
2021-08-16 21:34:57 -04:00
environment: &environment
2022-07-21 10:43:25 -04:00
DOCS_VERSION: dev-${DRONE_BUILD_NUMBER}
DOCS_REGISTRY_IMAGE: registry.fyloz.dev/colorrecipesexplorer/docs
DOCS_PORT: 9103
DOCS_RELEASE: *release
2021-08-16 21:34:57 -04:00
alpine-image: &alpine-image alpine:latest
2022-07-21 10:43:25 -04:00
docker-registry: &docker-registry registry.fyloz.dev
docker-registry-repo: &docker-registry-repo registry.fyloz.dev/colorrecipesexplorer/docs
2021-08-16 21:34:57 -04:00
kind: pipeline
2022-07-21 10:43:25 -04:00
name: default
2021-08-16 21:34:57 -04:00
type: docker
steps:
- name: set-docker-tags-latest
image: *alpine-image
2022-07-21 10:43:25 -04:00
environment:
<<: *environment
2021-08-16 21:34:57 -04:00
commands:
- echo -n "latest" > .tags
when:
2022-07-21 10:43:25 -04:00
branch: develop
event:
exclude:
- pull_request
2021-08-16 21:34:57 -04:00
- name: set-docker-tags-release
image: *alpine-image
environment:
<<: *environment
commands:
2022-07-21 10:58:58 -04:00
- echo -n "latest-release,$DOCS_RELEASE" > .tags
2021-08-16 21:34:57 -04:00
when:
2022-07-21 10:43:25 -04:00
event:
- tag
2021-08-16 21:34:57 -04:00
2022-07-21 10:43:25 -04:00
- name: containerize-release
2021-08-16 21:34:57 -04:00
image: plugins/docker
2022-07-21 10:43:25 -04:00
environment:
<<: *environment
2021-08-16 21:34:57 -04:00
settings:
2022-07-21 10:43:25 -04:00
registry: *docker-registry
2021-08-16 21:34:57 -04:00
repo: *docker-registry-repo
2022-07-21 10:43:25 -04:00
username:
from_secret: docker_username
password:
from_secret: docker_password
2021-08-16 21:34:57 -04:00
when:
2022-07-21 10:43:25 -04:00
event:
- tag
2021-08-16 21:34:57 -04:00
- name: deploy
2022-07-21 10:43:25 -04:00
image: alpine:latest
2021-08-16 21:34:57 -04:00
environment:
<<: *environment
2022-07-21 10:58:58 -04:00
DOCS_REGISTRY_IMAGE: *docker-registry-repo
2021-08-16 21:34:57 -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
DEPLOY_CONTAINER_NAME: cre_docs
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"
2022-07-21 10:58:58 -04:00
- ssh -p $DEPLOY_SERVER_SSH_PORT $DEPLOY_SERVER_USERNAME@$DEPLOY_SERVER "docker pull $DOCS_REGISTRY_IMAGE:$DOCS_RELEASE"
2022-07-21 10:43:25 -04:00
- ssh -p $DEPLOY_SERVER_SSH_PORT $DEPLOY_SERVER_USERNAME@$DEPLOY_SERVER "docker run -d -p $DOCS_PORT:80 --name=$DEPLOY_CONTAINER_NAME $DOCS_REGISTRY_IMAGE:$DOCS_RELEASE"
2021-08-16 21:34:57 -04:00
when:
2022-07-21 10:43:25 -04:00
event:
- tag