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: 3 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