111 lines
No EOL
2.3 KiB
YAML
111 lines
No EOL
2.3 KiB
YAML
kind: pipeline
|
|
name: default
|
|
type: docker
|
|
|
|
trigger:
|
|
branch:
|
|
- main
|
|
|
|
steps:
|
|
# - name: check SSH
|
|
# image: appleboy/drone-ssh
|
|
# settings:
|
|
# host:
|
|
# - test.band-on.com
|
|
# username:
|
|
# from_secret: drone_ansible_user
|
|
# key:
|
|
# from_secret: drone_ansible_ssh_private_key
|
|
# port: 22
|
|
# command_timeout: 2m
|
|
# script:
|
|
# - echo "Hello World"
|
|
|
|
- name: Syntax Check
|
|
image: plugins/ansible:3
|
|
settings:
|
|
become: true
|
|
playbook: playbook.yml
|
|
inventory: hosts
|
|
ssh_extra_args: "-o StrictHostKeyChecking=no"
|
|
# requirements: requirements.txt
|
|
# galaxy: requirements.yml
|
|
syntax_check: true
|
|
when:
|
|
event:
|
|
- pull_request
|
|
|
|
- name: Lint
|
|
image: cytopia/ansible-lint
|
|
commands:
|
|
- ansible-lint playbook.yml --force-color
|
|
when:
|
|
event:
|
|
- pull_request
|
|
|
|
- name: Show Diff and Check
|
|
image: plugins/ansible:3
|
|
settings:
|
|
become: true
|
|
playbook: playbook.yml
|
|
inventory: hosts
|
|
limit: testing
|
|
user:
|
|
from_secret: drone_ansible_user
|
|
private_key:
|
|
from_secret: drone_ansible_ssh_private_key
|
|
diff: true
|
|
check: true
|
|
ssh_extra_args: "-o StrictHostKeyChecking=no"
|
|
# requirements: requirements.txt
|
|
# galaxy: requirements.yml
|
|
when:
|
|
event:
|
|
- pull_request
|
|
|
|
- name: webhook-pr
|
|
image: plugins/webhook
|
|
settings:
|
|
username:
|
|
from_secret: mattermost_username
|
|
password:
|
|
from_secret: mattermost_password
|
|
urls: https://chat.host-ranger.ch/hooks/9e39cidaqt8d7f9hd4gmutkngr
|
|
content_type: application/json
|
|
template: |
|
|
`${DRONE_REPO}` build #${DRONE_BUILD_NUMBER} status: **${DRONE_BUILD_STATUS}**
|
|
# {
|
|
# "owner": "$DRONE_REPO_OWNER",
|
|
# "repo": "$DRONE_REPO_NAME",
|
|
# "status": "$DRONE_BUILD_STATUS"
|
|
# }
|
|
when:
|
|
status:
|
|
- failure
|
|
- success
|
|
event:
|
|
- pull_request
|
|
|
|
- name: Apply Playbook
|
|
image: plugins/ansible
|
|
settings:
|
|
become: true
|
|
playbook: playbook.yml
|
|
inventory: hosts
|
|
limit: testing
|
|
user:
|
|
from_secret: drone_ansible_user
|
|
private_key:
|
|
from_secret: drone_ansible_ssh_private_key
|
|
diff: true
|
|
check: true
|
|
ssh_extra_args: "-o StrictHostKeyChecking=no"
|
|
# requirements: requirements.txt
|
|
# galaxy: requirements.yml
|
|
diff: true
|
|
when:
|
|
branch:
|
|
- main
|
|
event:
|
|
- push
|
|
- tag |