Compare commits

..

6 Commits

Author SHA1 Message Date
jhot cd575c0581
Use jhot to publish
continuous-integration/drone/push Build is passing Details
2023-11-01 13:43:45 -06:00
jhot 9141025fa4
Setup builder before push
continuous-integration/drone/push Build is failing Details
2023-11-01 13:37:53 -06:00
jhot 364522fd90
Specify docker registry URL
continuous-integration/drone/push Build is failing Details
2023-11-01 13:33:54 -06:00
jhot c1fb6d7440
Spell password correctly
continuous-integration/drone/push Build is failing Details
2023-11-01 13:30:49 -06:00
jhot 618157a235 Build with Drone.io (#5)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #5
2023-11-01 19:27:58 +00:00
jhot 2e1267f20b Compression and Cleanup (#4)
/ build_and_test (push) Successful in 1m58s Details
Reviewed-on: #4
2023-09-20 16:30:46 +00:00
3 changed files with 77 additions and 52 deletions

65
.drone.yml Normal file
View File

@ -0,0 +1,65 @@
kind: pipeline
type: docker
name: ci
steps:
- name: build
image: code.jhot.me/drone-users/drone-builder-image:main
volumes:
- name: docker
path: /var/lib/docker
- name: dockersocket
path: /var/run/docker.sock
commands:
- task setup-buildx BUILDER_NAME=builder${DRONE_COMMIT_SHA}${DRONE_BUILD_NUMBER}
- tag=$${DRONE_TAG:-$DRONE_BRANCH} # set tag to tag name (if applicable) or branch name
- task build TAG=$tag # build the docker image
- name: publish tag
image: code.jhot.me/drone-users/drone-builder-image:main
depends_on:
- build
environment:
PASSWORD:
from_secret: FORGEJO_PASSWORD
volumes:
- name: docker
path: /var/lib/docker
- name: dockersocket
path: /var/run/docker.sock
commands:
- docker login code.jhot.me -u jhot -p $PASSWORD
- tag=$${DRONE_TAG:-$DRONE_BRANCH} # set tag to tag name (if applicable) or branch name
- task setup-buildx BUILDER_NAME=builder${DRONE_COMMIT_SHA}${DRONE_BUILD_NUMBER}
- task push TAG=$tag
when:
event:
- tag
- name: publish main
image: code.jhot.me/drone-users/drone-builder-image:main
depends_on:
- build
environment:
PASSWORD:
from_secret: FORGEJO_PASSWORD
volumes:
- name: docker
path: /var/lib/docker
- name: dockersocket
path: /var/run/docker.sock
commands:
- docker login code.jhot.me -u jhot -p $PASSWORD
- task setup-buildx BUILDER_NAME=builder${DRONE_COMMIT_SHA}${DRONE_BUILD_NUMBER}
- task push TAG=main
when:
branch:
- main
volumes:
- name: dockersocket
host:
path: /var/run/docker.sock
- name: docker
temp: {}
image_pull_secrets:
- dockerconfig

View File

@ -1,48 +0,0 @@
on:
push:
branches:
- main
tags:
- v[0-9]*
pull_request:
branches:
- main
jobs:
build_and_test:
runs_on: docker
steps:
- name: Checkout
uses: https://code.forgejo.org/actions/checkout@v3
- name: Dependenies
run: |
curl -fsSL https://get.docker.com -o get-docker.sh
sh ./get-docker.sh
systemctl start docker
- name: Set up Docker Buildx
uses: https://github.com/docker/setup-buildx-action@v2.10.0
- name: Docker metadata
id: meta
uses: https://github.com/docker/metadata-action@v4.6.0
with:
images: code.jhot.me/jhot/docker-s3-backup
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: https://github.com/docker/login-action@v2.2.0
with:
registry: code.jhot.me
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4.2.1
with:
context: .
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

View File

@ -4,17 +4,25 @@ vars:
NAME: code.jhot.me/jhot/docker-s3-backup
tasks:
default:
vars:
TAG: latest
build:
cmds:
- docker buildx build --platform linux/amd64,linux/arm64 -t "{{.NAME}}:{{.TAG}}" .
vars:
TAG: '{{.TAG | default "latest"}}'
push:
cmds:
- docker push "{{.NAME}}:{{.TAG}}"
- docker buildx build --push --platform linux/amd64,linux/arm64 -t "{{.NAME}}:{{.TAG}}" .
vars:
TAG: '{{.TAG | default "latest"}}'
tag:
prompt: This will push a git tag and docker image versioned {{.TAG}}... Do you want to continue?
cmds:
- git tag "{{.TAG}}"
- git push origin "{{.TAG}}"
vars:
TAG: '{{.TAG | default "latest"}}'
setup-buildx:
cmds:
- docker buildx create --name {{.BUILDER_NAME}} --use
vars:
BUILDER_NAME: '{{.BUILDER_NAME | default "mybuilder"}}'