Use woodpecker for CI #8
@ -7,4 +7,5 @@ config.example.json
|
||||
.gitignore
|
||||
.vscode/
|
||||
budgeteer
|
||||
budgeteer.exe
|
||||
budgeteer.exe
|
||||
**/node_modules/
|
||||
|
@ -6,8 +6,9 @@ name: budgeteer
|
||||
steps:
|
||||
- name: Taskfile.dev
|
||||
image: hub.javil.eu/budgeteer:dev
|
||||
pull: true
|
||||
commands:
|
||||
- task build
|
||||
- task
|
||||
|
||||
- name: docker
|
||||
image: plugins/docker
|
||||
|
23
.woodpecker.yml
Normal file
23
.woodpecker.yml
Normal file
@ -0,0 +1,23 @@
|
||||
pipeline:
|
||||
build:
|
||||
name: Taskfile.dev
|
||||
image: hub.javil.eu/budgeteer:dev
|
||||
pull: true
|
||||
commands:
|
||||
- task
|
||||
|
||||
docker:
|
||||
image: plugins/docker
|
||||
secrets: [ docker_username, docker_password ]
|
||||
settings:
|
||||
registry: hub.javil.eu
|
||||
repo: hub.javil.eu/budgeteer
|
||||
context: build
|
||||
dockerfile: build/Dockerfile
|
||||
tags:
|
||||
- latest
|
||||
when:
|
||||
event: [push, tag, deployment]
|
||||
|
||||
image_pull_secrets:
|
||||
- hub.javil.eu
|
20
Taskfile.yml
20
Taskfile.yml
@ -1,9 +1,12 @@
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
IMAGE_NAME: hub.javil.eu/budgeteer
|
||||
|
||||
tasks:
|
||||
default:
|
||||
cmds:
|
||||
- task: build
|
||||
- task: build-prod
|
||||
|
||||
sqlc:
|
||||
desc: sqlc code generation
|
||||
@ -59,12 +62,13 @@ tasks:
|
||||
|
||||
frontend:
|
||||
desc: Build vue frontend
|
||||
dir: web
|
||||
sources:
|
||||
- web/src/**/*
|
||||
generates:
|
||||
- web/dist/**/*
|
||||
cmds:
|
||||
- cd web
|
||||
- yarn
|
||||
- yarn build
|
||||
|
||||
docker:
|
||||
@ -72,8 +76,18 @@ tasks:
|
||||
deps: [build-prod]
|
||||
sources:
|
||||
- ./build/budgeteer{{exeExt}}
|
||||
- ./build/Dockerfile
|
||||
cmds:
|
||||
- docker build -t budgeteer:latest -t hub.javil.eu/budgeteer:latest ./build
|
||||
- docker build -t {{.IMAGE_NAME}}:latest ./build
|
||||
- docker push {{.IMAGE_NAME}}:latest
|
||||
|
||||
dev-docker:
|
||||
desc: Build budgeeter:dev
|
||||
sources:
|
||||
- ./docker/Dockerfile
|
||||
cmds:
|
||||
- docker build -t {{.IMAGE_NAME}}:dev . -f docker/Dockerfile
|
||||
- docker push {{.IMAGE_NAME}}:dev
|
||||
|
||||
run:
|
||||
desc: Start budgeteer
|
||||
|
@ -1,13 +1,16 @@
|
||||
FROM alpine as godeps
|
||||
RUN apk add go
|
||||
RUN go install github.com/kyleconroy/sqlc/cmd/sqlc@latest
|
||||
RUN go install github.com/go-task/task/v3/cmd/task@latest
|
||||
|
||||
FROM alpine
|
||||
RUN apk add go
|
||||
RUN apk add nodejs yarn bash curl git git-perl tmux
|
||||
RUN bash -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
|
||||
ADD build.sh /
|
||||
RUN addgroup -S dev && adduser -S dev -G dev
|
||||
USER dev
|
||||
RUN go install github.com/kyleconroy/sqlc/cmd/sqlc@latest
|
||||
RUN go install github.com/go-task/task/v3/cmd/task@latest
|
||||
ADD docker/build.sh /
|
||||
COPY --from=godeps /root/go/bin/task /root/go/bin/sqlc /usr/local/bin/
|
||||
RUN yarn global add @vue/cli
|
||||
ENV PATH="/home/dev/go/bin:/home/dev/.yarn/bin/:${PATH}"
|
||||
ENV PATH="/root/.yarn/bin/:${PATH}"
|
||||
WORKDIR /src
|
||||
ADD web/package.json /src/web/
|
||||
RUN yarn
|
||||
CMD /build.sh
|
||||
|
17
web/src/pages/Admin.vue
Normal file
17
web/src/pages/Admin.vue
Normal file
@ -0,0 +1,17 @@
|
||||
<script lang="ts">
|
||||
import { defineComponent } from "vue";
|
||||
|
||||
export default defineComponent({
|
||||
mounted() {
|
||||
document.title = "Budgeteer - Admin";
|
||||
},
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<h1>Danger Zone</h1>
|
||||
<div class="budget-item">
|
||||
<button>Clear database</button>
|
||||
<p>This removes all data and starts from scratch. Not undoable!</p>
|
||||
</div>
|
||||
</template>
|
Loading…
x
Reference in New Issue
Block a user