-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
123 lines (109 loc) · 2.95 KB
/
Taskfile.yml
File metadata and controls
123 lines (109 loc) · 2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
version: '3'
vars:
SDK_URL: https://cms.nemlog-in.dk/media/3qdj0erk/nemlogin-signsdk-java-2-0-2.zip
SDK_DIR: Signing-Server
DOCKER_IMAGE: ghcr.io/itk-dev/signing-server
MAVEN_IMAGE: maven:3-eclipse-temurin-21
MAVEN_RUN: >-
docker run --rm
-v "{{.ROOT_DIR}}:/build"
-v "itkdev-signing-m2:/root/.m2"
-w /build
{{.MAVEN_IMAGE}}
tasks:
default:
desc: List available tasks
silent: true
cmds:
- task --list
setup:
desc: Download SDK, init config, and build everything
cmds:
- task: sdk:download
- task: config:init
- task: build:all
sdk:download:
desc: Download and extract the NemLog-In Signing SDK
cmds:
- mkdir -p /tmp/sdk-download
- curl -fSL -o /tmp/sdk-download/sdk.zip "{{.SDK_URL}}"
- unzip -q /tmp/sdk-download/sdk.zip -d /tmp/sdk-download/extracted
- mv /tmp/sdk-download/extracted/* {{.SDK_DIR}}
- rm -rf /tmp/sdk-download
status:
- test -d {{.SDK_DIR}}
build:sdk:
desc: Build SDK libraries (install to local Maven repo)
cmds:
- >-
{{.MAVEN_RUN}}
mvn -f /build/{{.SDK_DIR}}/pom.xml clean install -DskipTests
- touch .sdk-built
status:
- test -f .sdk-built
build:sdk:force:
desc: Force rebuild SDK libraries
cmds:
- >-
{{.MAVEN_RUN}}
mvn -f /build/{{.SDK_DIR}}/pom.xml clean install -DskipTests
- touch .sdk-built
build:
desc: Build the signing webapp
deps: [build:sdk]
cmds:
- >-
{{.MAVEN_RUN}}
mvn clean package -DskipTests
build:all:
desc: Build SDK and webapp
cmds:
- task: build:sdk:force
- task: build
dev:
desc: Run in development mode
deps: [build:sdk]
cmds:
- >-
docker run --rm
-v "{{.ROOT_DIR}}:/build"
-v "itkdev-signing-m2:/root/.m2"
-w /build
-p 8088:8088
{{.MAVEN_IMAGE}}
mvn spring-boot:run
run:jar:
desc: Run the built jar directly
cmds:
- >-
docker run --rm
-v "{{.ROOT_DIR}}:/app"
-w /app
-p 8088:8088
eclipse-temurin:21-jre-jammy
java -jar target/itkdev-signing-webapp-*.jar
--spring.config.location=file:/app/config/application.yaml
clean:
desc: Maven clean
cmds:
- >-
{{.MAVEN_RUN}}
mvn clean
docker:build:
desc: Build Docker image
cmds:
- docker build --no-cache -t {{.DOCKER_IMAGE}}:latest .
docker:push:
desc: "Build and push Docker image (usage: task docker:push VERSION=1.0.0)"
requires:
vars: [VERSION]
cmds:
- docker build -t {{.DOCKER_IMAGE}}:{{.VERSION}} -t {{.DOCKER_IMAGE}}:latest .
- docker push {{.DOCKER_IMAGE}}:{{.VERSION}}
- docker push {{.DOCKER_IMAGE}}:latest
config:init:
desc: Copy example config to application.yaml
cmds:
- cp config/application.yaml.example config/application.yaml
status:
- test -f config/application.yaml