Website/.drone-kubernetes.yml
2023-03-02 21:36:58 -05:00

108 lines
2.6 KiB
YAML

kind: pipeline
type: docker
name: website deployment
trigger:
event:
- push
- pull_request
steps:
- name: replace hosts and user variables
image: ubuntu:impish
environment:
DEPLOY_HOSTNAME:
from_secret: deploy_hostname
DEPLOY_USER:
from_secret: deploy_username
DEPLOY_PRIVATE_KEY:
from_secret: deploy_ssh_key
DEPLOY_SSH_KEY_PASSPHRASE:
from_secret: deploy_ssh_key_passphrase
commands:
- echo "$DEPLOY_PRIVATE_KEY" > private.key && chmod 600 private.key
- sed -i 's/{{ DEPLOY_HOSTNAME }}/'"$DEPLOY_HOSTNAME"'/g' ./.ansible/inventory
- sed -i 's/{{ DEPLOY_SSH_KEY_PASSPHRASE }}/'"$DEPLOY_SSH_KEY_PASSPHRASE"'/g' ./.ansible/inventory
- sed -i 's/{{ DEPLOY_USER }}/'"$DEPLOY_USER"'/g' ./.ansible/inventory
when:
branch:
- master
- development
- main
- develop
event:
- push
- pull_request
- name: check website ansible syntax
image: plugins/ansible:3
settings:
playbook: ./.ansible/playbook.yml
inventory: ./.ansible/inventory
syntax_check: true
depends_on:
- replace hosts and user variables
when:
branch:
- master
- development
- main
- develop
event:
- push
- pull_request
- name: dry-run ansible playbook website
image: plugins/ansible:3
settings:
playbook: ./.ansible/playbook.yml
inventory: ./.ansible/inventory
timeout: 60
verbose: 2
check: true
environment:
DEPLOY_HOSTNAME:
from_secret: deploy_hostname
DEPLOY_USER:
from_secret: deploy_username
DEPLOY_USER_GROUP:
from_secret: deploy_user_group
SPT_WEBSITE_PATH:
from_secret: website_deploy_path
depends_on:
- check website ansible syntax
when:
branch:
- master
- development
- main
- develop
event:
- push
- pull_request
- name: apply ansible playbook website
image: plugins/ansible:3
settings:
playbook: ./.ansible/playbook.yml
inventory: ./.ansible/inventory
timeout: 60
verbose: 2
environment:
DEPLOY_HOSTNAME:
from_secret: deploy_hostname
DEPLOY_USER:
from_secret: deploy_username
DEPLOY_USER_GROUP:
from_secret: deploy_user_group
SPT_WEBSITE_PATH:
from_secret: website_deploy_path
depends_on:
- check website ansible syntax
when:
branch:
- master
- main
event:
- push