Use a custom image for building and more scripts

This commit is contained in:
Nikolai Rodionov
2023-04-24 18:01:13 +02:00
parent 27b1b4acc0
commit b5e304bc3c
10 changed files with 213 additions and 48 deletions

View File

@ -32,62 +32,46 @@ name: Build badhouseplants.net
trigger:
event:
- push
clone:
disable: true
steps:
- name: Download submodules with themes and remove lfs
- name: clone
image: alpine/git
environment:
GIT_LFS_SKIP_SMUDGE: 1
commands:
- git submodule update --init --recursive
- rm -rf static
- git clone $DRONE_REMOTE_URL --recurse-submodules .
- git checkout $DRONE_COMMIT
- name: Test a build
image: git.badhouseplants.net/badhouseplants/hugo-builder
depends_on:
- clone
commands:
- hugo
- name: Build and push the docker image
image: plugins/docker
when:
branch:
exclude:
- main
settings:
registry: git.badhouseplants.net
username: allanger
password:
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:80ffd53372652576fa3c36a56b351b448a025c6a
privileged: true
depends_on:
- Test a build
environment:
GITEA_TOKEN:
from_secret: GITEA_TOKEN
repo: git.badhouseplants.net/${DRONE_REPO}
tags: ${DRONE_COMMIT_SHA}
- name: Build and push the docker image with latest
image: plugins/docker
when:
branch:
- main
settings:
registry: git.badhouseplants.net
username: allanger
password:
from_secret: GITEA_TOKEN
repo: git.badhouseplants.net/${DRONE_REPO}
tags:
- ${DRONE_COMMIT_SHA}
- latest
- name: Download media files
image: alpine/git
commands:
- git lfs pull
- ./scripts/build-container.pl
- name: Sync pictures from lfs to Minio
image: rclone/rclone:latest
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:80ffd53372652576fa3c36a56b351b448a025c6a
depends_on:
- Test a build
environment:
RCLONE_CONFIG_CONTENT:
from_secret: RCLONE_CONFIG_CONTENT_PRIVATE
RCLONE_CONFIG: /tmp/rclone.conf
commands:
- echo "$RCLONE_CONFIG_CONTENT" > $RCLONE_CONFIG
- apk update && apk add git perl
- ./scripts/upload-media.pl
- name: Deploy a preview ApplicationSet
@ -96,6 +80,9 @@ steps:
branch:
exclude:
- main
depends_on:
- Build and push the docker image
- Sync pictures from lfs to Minio
environment:
KUBECONFIG_CONTENT:
from_secret: KUBECONFIG_CONTENT
@ -123,6 +110,9 @@ steps:
when:
branch:
- main
depends_on:
- Build and push the docker image
- Sync pictures from lfs to Minio
environment:
KUBECONFIG_CONTENT:
from_secret: KUBECONFIG_CONTENT
@ -151,6 +141,9 @@ steps:
- name: Sync application
image: argoproj/argocd
depends_on:
- Deploy a main ApplicationSet
- Deploy a preview ApplicationSet
environment:
ARGOCD_SERVER:
from_secret: ARGOCD_SERVER
@ -162,6 +155,8 @@ steps:
- name: Cleanup everything
image: rclone/rclone:latest
depends_on:
- Sync application
environment:
RCLONE_CONFIG_CONTENT:
from_secret: RCLONE_CONFIG_CONTENT_PRIVATE