You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
297 lines
8.5 KiB
297 lines
8.5 KiB
kind: pipeline
|
|
type: kubernetes
|
|
name: Build & Push Images
|
|
|
|
trigger:
|
|
branch:
|
|
- trunk
|
|
event:
|
|
- push
|
|
|
|
steps:
|
|
- name: Build & Publish Catalog
|
|
image: git.vdhsn.com/barretthousen/drone-kaniko:v1.0.1
|
|
volumes:
|
|
- name: cache
|
|
path: /kaniko
|
|
settings:
|
|
verbosity: debug
|
|
dockerfile: "./src/Dockerfile.prod-backend"
|
|
context: "./src"
|
|
target: production
|
|
registry: git.vdhsn.com
|
|
repo: git.vdhsn.com/barretthousen/service-catalog
|
|
enable_cache: true
|
|
cache_repo: git.vdhsn.com/barretthousen/ci-cache
|
|
skip_unused_stages: true
|
|
build_args:
|
|
- "service=catalog"
|
|
tags:
|
|
- ${DRONE_COMMIT_SHA}
|
|
- beta
|
|
custom_labels:
|
|
- com.barretthousen.service=catalog
|
|
- com.barretthousen.version=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.git-ref=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.build-date=${DRONE_BUILD_STARTED}
|
|
- com.barrethousen.builder=${DRONE_COMMIT_AUTHOR}
|
|
username:
|
|
from_secret: DOCKER_USERNAME
|
|
password:
|
|
from_secret: DOCKER_PASSWORD
|
|
|
|
- name: Build & Publish Runner
|
|
image: plugins/kaniko
|
|
settings:
|
|
verbosity: debug
|
|
dockerfile: "./src/Dockerfile.prod-backend"
|
|
context: "./src"
|
|
target: production
|
|
registry: git.vdhsn.com
|
|
repo: git.vdhsn.com/barretthousen/service-runner
|
|
enable_cache: true
|
|
cache_repo: git.vdhsn.com/barretthousen/ci-cache
|
|
snapshot_mode: redo
|
|
skip_unused_stages: true
|
|
build_args:
|
|
- "service=runner"
|
|
tags:
|
|
- ${DRONE_COMMIT_SHA}
|
|
custom_labels:
|
|
- com.barretthousen.service=runner
|
|
- com.barretthousen.version=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.git-ref=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.build-date=${DRONE_BUILD_STARTED}
|
|
- com.barrethousen.builder=${DRONE_COMMIT_AUTHOR}
|
|
username:
|
|
from_secret: DOCKER_USERNAME
|
|
password:
|
|
from_secret: DOCKER_PASSWORD
|
|
|
|
- name: Build & Publish Auth
|
|
image: plugins/kaniko
|
|
settings:
|
|
verbosity: debug
|
|
dockerfile: "./src/Dockerfile.prod-backend"
|
|
context: "./src"
|
|
target: production
|
|
registry: git.vdhsn.com
|
|
repo: git.vdhsn.com/barretthousen/service-auth
|
|
enable_cache: true
|
|
cache_repo: git.vdhsn.com/barretthousen/ci-cache
|
|
snapshot_mode: redo
|
|
skip_unused_stages: true
|
|
build_args:
|
|
- "service=auth"
|
|
tags:
|
|
- ${DRONE_COMMIT_SHA}
|
|
- beta
|
|
custom_labels:
|
|
- com.barretthousen.service=auth
|
|
- com.barretthousen.version=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.git-ref=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.build-date=${DRONE_BUILD_STARTED}
|
|
- com.barrethousen.builder=${DRONE_COMMIT_AUTHOR}
|
|
username:
|
|
from_secret: DOCKER_USERNAME
|
|
password:
|
|
from_secret: DOCKER_PASSWORD
|
|
|
|
- name: Build & Publish Proxy Admin
|
|
image: plugins/kaniko
|
|
settings:
|
|
verbosity: debug
|
|
dockerfile: "./src/Dockerfile.prod-backend"
|
|
context: "./src"
|
|
target: production
|
|
registry: git.vdhsn.com
|
|
repo: git.vdhsn.com/barretthousen/service-proxy-admin
|
|
enable_cache: true
|
|
cache_repo: git.vdhsn.com/barretthousen/ci-cache
|
|
snapshot_mode: redo
|
|
skip_unused_stages: true
|
|
build_args:
|
|
- "service=proxy-admin"
|
|
tags:
|
|
- ${DRONE_COMMIT_SHA}
|
|
- beta
|
|
custom_labels:
|
|
- com.barretthousen.service=proxy-admin
|
|
- com.barretthousen.version=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.git-ref=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.build-date=${DRONE_BUILD_STARTED}
|
|
- com.barrethousen.builder=${DRONE_COMMIT_AUTHOR}
|
|
username:
|
|
from_secret: DOCKER_USERNAME
|
|
password:
|
|
from_secret: DOCKER_PASSWORD
|
|
depends_on:
|
|
- Build & Publish Catalog
|
|
- Build & Publish Runner
|
|
- Build & Publish Auth
|
|
|
|
- name: Build & Publish Proxy Web
|
|
image: plugins/kaniko
|
|
settings:
|
|
verbosity: debug
|
|
dockerfile: "./src/Dockerfile.prod-backend"
|
|
context: "./src"
|
|
target: production
|
|
registry: git.vdhsn.com
|
|
repo: git.vdhsn.com/barretthousen/service-proxy-web
|
|
enable_cache: true
|
|
cache_repo: git.vdhsn.com/barretthousen/ci-cache
|
|
snapshot_mode: redo
|
|
skip_unused_stages: true
|
|
build_args:
|
|
- "service=proxy-web"
|
|
tags:
|
|
- ${DRONE_COMMIT_SHA}
|
|
- beta
|
|
custom_labels:
|
|
- com.barretthousen.service=proxy-web
|
|
- com.barretthousen.version=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.git-ref=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.build-date=${DRONE_BUILD_STARTED}
|
|
- com.barrethousen.builder=${DRONE_COMMIT_AUTHOR}
|
|
username:
|
|
from_secret: DOCKER_USERNAME
|
|
password:
|
|
from_secret: DOCKER_PASSWORD
|
|
depends_on:
|
|
- Build & Publish Catalog
|
|
- Build & Publish Runner
|
|
- Build & Publish Auth
|
|
|
|
- name: Build & Publish Web Client
|
|
image: plugins/kaniko
|
|
settings:
|
|
verbosity: debug
|
|
dockerfile: "./src/Dockerfile.frontend"
|
|
context: "./src/web-client"
|
|
target: production
|
|
registry: git.vdhsn.com
|
|
repo: git.vdhsn.com/barretthousen/service-proxy-web
|
|
enable_cache: true
|
|
cache_repo: git.vdhsn.com/barretthousen/ci-cache
|
|
snapshot_mode: redo
|
|
skip_unused_stages: true
|
|
build_args:
|
|
- "service=proxy-web"
|
|
tags:
|
|
- ${DRONE_COMMIT_SHA}
|
|
- beta
|
|
custom_labels:
|
|
- com.barretthousen.service=proxy-web
|
|
- com.barretthousen.version=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.git-ref=${DRONE_COMMIT_SHA}
|
|
- com.barretthousen.build-date=${DRONE_BUILD_STARTED}
|
|
- com.barrethousen.builder=${DRONE_COMMIT_AUTHOR}
|
|
username:
|
|
from_secret: DOCKER_USERNAME
|
|
password:
|
|
from_secret: DOCKER_PASSWORD
|
|
depends_on:
|
|
- Build & Publish Catalog
|
|
- Build & Publish Runner
|
|
- Build & Publish Auth
|
|
- Build & Publish Proxy Admin
|
|
- Build & Publish Proxy Web
|
|
|
|
- name: Build & Publish Admin Client
|
|
image: plugins/kaniko
|
|
settings:
|
|
verbosity: debug
|
|
dockerfile: "./src/Dockerfile.frontend"
|
|
context: "./src/admin-client"
|
|
target: production
|
|
registry: git.vdhsn.com
|
|
repo: git.vdhsn.com/barretthousen/client-admin-client
|
|
enable_cache: true
|
|
cache_repo: git.vdhsn.com/barretthousen/ci-cache
|
|
snapshot_mode: redo
|
|
skip_unused_stages: true
|
|
build_args:
|
|
- "service=admin-client"
|
|
tags:
|
|
- ${DRONE_COMMIT_SHA}
|
|
- beta
|
|
username:
|
|
from_secret: DOCKER_USERNAME
|
|
password:
|
|
from_secret: DOCKER_PASSWORD
|
|
depends_on:
|
|
- Build & Publish Catalog
|
|
- Build & Publish Runner
|
|
- Build & Publish Auth
|
|
- Build & Publish Proxy Admin
|
|
- Build & Publish Proxy Web
|
|
|
|
- name: Build Success Notify
|
|
image: appleboy/drone-discord
|
|
environment:
|
|
DISCORD_WEBHOOK_ID:
|
|
from_secret: DISCORD_WEBHOOK_ID
|
|
DISCORD_WEBHOOK_TOKEN:
|
|
from_secret: DISCORD_WEBHOOK_TOKEN
|
|
settings:
|
|
username: Drone CI
|
|
message: Barretthousen Image Builds Complete
|
|
webhook_id:
|
|
from_secret: DISCORD_WEBHOOK_ID
|
|
webhook_token:
|
|
from_secret: DISCORD_WEBHOOK_TOKEN
|
|
depends_on:
|
|
- Build & Publish Catalog
|
|
- Build & Publish Runner
|
|
- Build & Publish Auth
|
|
- Build & Publish Proxy Admin
|
|
- Build & Publish Proxy Web
|
|
- Build & Publish Web Client
|
|
- Build & Publish Admin Client
|
|
---
|
|
kind: pipeline
|
|
type: kubernetes
|
|
name: Promote Beta -> Prod
|
|
|
|
trigger:
|
|
branch:
|
|
- trunk
|
|
event:
|
|
- promote
|
|
|
|
steps:
|
|
- name: Promote Services
|
|
image: alpine
|
|
environment:
|
|
REGISTRY_NAME: "https://git.vdhsn.com"
|
|
CONTENT_TYPE: "application/vnd.docker.distribution.manifest.v2+json"
|
|
DOCKER_USERNAME:
|
|
from_secret: DOCKER_USERNAME
|
|
DOCKER_PASSWORD:
|
|
from_secret: DOCKER_PASSWORD
|
|
commands:
|
|
- ./hack/promote.sh barretthousen/catalog beta prod
|
|
|
|
- name: Deploy Success
|
|
image: appleboy/drone-discord
|
|
environment:
|
|
DISCORD_WEBHOOK_ID:
|
|
from_secret: DISCORD_WEBHOOK_ID
|
|
DISCORD_WEBHOOK_TOKEN:
|
|
from_secret: DISCORD_WEBHOOK_TOKEN
|
|
settings:
|
|
username: Drone CI
|
|
message: Barretthousen Prod deployment success
|
|
webhook_id:
|
|
from_secret: DISCORD_WEBHOOK_ID
|
|
webhook_token:
|
|
from_secret: DISCORD_WEBHOOK_TOKEN
|
|
depends_on:
|
|
- Promote Services
|
|
|
|
volumes:
|
|
- name: cache
|
|
temp:
|
|
medium: memory
|