oonyeje-portfolio/.drone.yml
oonyeje 50877c6425
Some checks failed
Ollama Review / review-code-with-llm (pull_request) Successful in 36s
continuous-integration/drone/push Build is failing
- use brackets
2025-03-07 17:57:14 -05:00

156 lines
4.7 KiB
YAML
Executable File

kind: pipeline
type: docker
name: build
steps:
################################################################################################################################################
## example of running dind manually in drone
# - name: build
# image: docker
# environment:
# REGISTRY_USER:
# from_secret: DOCKER_USERNAME
# REGISTRY_PASS:
# from_secret: DOCKER_PASSWORD
# volumes:
# - name: docker_sock
# path: /var/run/docker.sock
# commands:
# - export DRONE_SHA=${DRONE_COMMIT_SHA:0:7}
# - docker login gitea.bsidesolutions.net --username $REGISTRY_USER --password $REGISTRY_PASS
# # - docker exec --env-file .env.drone compose-container mkdir /home/node
# # - docker exec --env-file .env.drone compose-container mkdir /home/node/app
# # - docker cp . compose-container:/home/node/app
# # - docker exec -w /home/node/app --env-file .env.drone compose-container ls # check current directory
# - docker build -t gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7} .
# - docker tag gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7}
# - docker tag gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:latest
################################################################################################################################################
- name: Setup Build
image: gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine:latest
commands:
# - docker container stop compose-container
- docker container prune -f
- docker image prune -f
# - docker login gitea.bsidesolutions.net --username $REGISTRY_USER --password $REGISTRY_PASS
# - docker pull gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine:latest
# - docker run -v /var/run/docker.sock:/var/run/docker.sock --rm -d --name compose-container gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine sleep inf #start container in detached mode
# - sleep 5 # give container some time to fully start
volumes:
- name: docker_sock
path: /var/run/docker.sock
- name: Build and Push (PR) Container Image
image: plugins/docker
when:
branch:
- feature/*
settings:
username:
from_secret: DOCKER_USERNAME
password:
from_secret: DOCKER_PASSWORD
repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
registry: gitea.bsidesolutions.net
dockerfile: ./Dockerfile
force_tag: true
tags:
- latest
- pr-build-${sed 's/\//-/g' <<< ${DRONE_BRANCH}}
- name: Build and Push (Staging) Container Image
image: plugins/docker
when:
branch:
- develop
settings:
username:
from_secret: DOCKER_USERNAME
password:
from_secret: DOCKER_PASSWORD
repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
registry: gitea.bsidesolutions.net
dockerfile: ./Dockerfile
force_tag: true
tags:
- latest
- dev
- dev-${DRONE_COMMIT_SHA:0:10}
- name: Build and Push (Production) Container Image
image: plugins/docker
when:
branch:
- main
settings:
username:
from_secret: DOCKER_USERNAME
password:
from_secret: DOCKER_PASSWORD
repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio
registry: gitea.bsidesolutions.net
dockerfile: ./Dockerfile
force_tag: true
tags:
- latest
- release
- release-${DRONE_COMMIT_SHA:0:10}
trigger:
branch:
- main
- develop
- feature/*
event:
include:
- push
# - name: deploy-staging
# image: plugins/ansible:latest
# settings:
# playbook: ansible/playbook.staging.yml
# galaxy: ansible/requirements.yml
# inventory: ansible/inventory.yml
# become_user: bside
# user: bside
# verbose: 4
# become: true
# list_tasks: true
# list_hosts: true
# private_key:
# from_secret: STAGING_SERVER_PRIVATE_KEY
# trigger:
# branch:
# - master
# - prod
# - qa
# - feature/*
# event:
# - push
# - pull_request
# ---
# kind: pipeline
# type: exec
# name: staging-deploy
# platform:
# os: linux
# arch: amd64
# steps:
# - name: ansible-deploy
# commands:
# - ansible --version
# - ansible-galaxy install --force --role-file ansible/requirements.yml -vvvv
# - ansible-playbook --inventory ansible/inventory.yml --list-hosts ansible/playbook.staging.yml
# trigger:
# branch:
# - master
# - prod
# - qa
# - feature/*
# event:
# - push
# - pull_request
volumes:
- name: docker_sock
host:
path: /var/run/docker.sock