blog.lazkani.io/.drone.yml

153 lines
3.3 KiB
YAML
Raw Normal View History

2021-07-04 06:22:25 +00:00
---
kind: pipeline
name: generate-blog
2021-07-04 06:22:25 +00:00
clone:
depth: 1
2021-07-04 06:22:25 +00:00
steps:
- name: update-submodules
2021-07-04 06:35:32 +00:00
image: alpine/git
commands:
- git submodule update --init --recursive
- name: generate-blog
2021-07-04 06:22:25 +00:00
image: plugins/hugo
settings:
hugo_version: 0.84.4
validate: true
pull: always
depends_on:
- update-submodules
2021-07-04 06:59:25 +00:00
- name: clean-up-images
image: alpine
2021-07-04 06:59:25 +00:00
commands:
2021-07-04 08:34:04 +00:00
- rm -rf public/images/*
depends_on:
- generate-blog
2021-07-04 06:59:25 +00:00
- name: test-build-container
image: plugins/docker
settings:
registry: scm.project42.io
username:
from_secret: registry_username
password:
from_secret: registry_password
repo: scm.project42.io/elia/blog
dry_run: true
squash: true
purge: false
tags:
- "${DRONE_COMMIT_SHA:0:8}"
depends_on:
- clean-up-images
- name: trivy-scan
image: docker.io/aquasec/trivy:latest
2023-07-02 22:01:08 +00:00
volumes:
- name: dockersock
path: /var/run/docker.sock
commands:
2023-07-02 22:14:46 +00:00
- docker build -t "scm.project42.io/elia/blog:${DRONE_COMMIT_SHA:0:8}" .
- trivy image --exit-code 0 "scm.project42.io/elia/blog:${DRONE_COMMIT_SHA:0:8}"
- trivy image --exit-code 1 --severity CRITICAL "scm.project42.io/elia/blog:${DRONE_COMMIT_SHA:0:8}"
2023-07-02 22:14:46 +00:00
- docker rmi "scm.project42.io/elia/blog:${DRONE_COMMIT_SHA:0:8}"
depends_on:
- test-build-container
2023-07-02 22:01:08 +00:00
volumes:
- name: dockersock
host:
path: /var/run/docker.sock
- name: build-container
image: plugins/docker
settings:
registry: scm.project42.io
username:
from_secret: registry_username
password:
from_secret: registry_password
repo: scm.project42.io/elia/blog
dry_run: false
squash: true
tags:
- latest
- "${DRONE_COMMIT_SHA:0:8}"
when:
event:
- promote
target:
- production
---
kind: pipeline
name: deploy-blog
clone:
depth: 1
steps:
- name: syntax-check
image: plugins/ansible:latest
settings:
playbook: ansible/site.yml
inventory: ansible/inventory/hcloud.yml
requirements: ansible/requirements.txt
tags: blog
check: true
diff: true
syntax_check: true
extra_vars: "blog_container_tag=${DRONE_COMMIT_SHA:0:8}"
environment:
HCLOUD_TOKEN:
from_secret: hcloud_token
- name: dry-run
image: plugins/ansible:latest
settings:
playbook: ansible/site.yml
inventory: ansible/inventory/hcloud.yml
requirements: ansible/requirements.txt
tags: blog
check: true
diff: true
syntax_check: false
extra_vars: "blog_container_tag=${DRONE_COMMIT_SHA:0:8},check_mode=true"
private_key:
from_secret: ansible_private_key
user:
from_secret: ansible_user
environment:
HCLOUD_TOKEN:
from_secret: hcloud_token
- name: deploy
image: plugins/ansible:latest
settings:
playbook: ansible/site.yml
inventory: ansible/inventory/hcloud.yml
requirements: ansible/requirements.txt
tags: blog
check: false
diff: true
syntax_check: false
extra_vars: "blog_container_tag=${DRONE_COMMIT_SHA:0:8}"
private_key:
from_secret: ansible_private_key
user:
from_secret: ansible_user
environment:
HCLOUD_TOKEN:
from_secret: hcloud_token
when:
event:
- promote
target:
- production
depends_on:
- generate-blog