dev/actions feature: overtime #27
@@ -1,8 +1,6 @@
|
|||||||
module arbeitszeitmessung
|
module arbeitszeitmessung
|
||||||
|
|
||||||
go 1.23.0
|
go 1.24.5
|
||||||
|
|
||||||
toolchain go1.24.5
|
|
||||||
|
|
||||||
require github.com/lib/pq v1.10.9
|
require github.com/lib/pq v1.10.9
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ services:
|
|||||||
- 8001:8080
|
- 8001:8080
|
||||||
backend:
|
backend:
|
||||||
build: ../Backend
|
build: ../Backend
|
||||||
image: git.letsstein.de/tom/arbeitszeit-backend:0.1.1
|
image: git.letsstein.de/tom/arbeitszeitmessung
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ services:
|
|||||||
- .env.test
|
- .env.test
|
||||||
environment:
|
environment:
|
||||||
PGDATA: /var/lib/postgresql/data/pg_data
|
PGDATA: /var/lib/postgresql/data/pg_data
|
||||||
volumes:
|
# volumes: //- ${POSTGRES_PATH}/initdb:/docker-entrypoint-initdb.d
|
||||||
- ${POSTGRES_PATH}/initdb:/docker-entrypoint-initdb.d
|
|
||||||
ports:
|
ports:
|
||||||
- 5433:5432
|
- 5433:5432
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ services:
|
|||||||
- 5432:5432
|
- 5432:5432
|
||||||
|
|
||||||
backend:
|
backend:
|
||||||
image: git.letsstein.de/tom/arbeitszeit-backend
|
image: git.letsstein.de/tom/arbeitszeitmessung
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
64
Jenkinsfile
vendored
64
Jenkinsfile
vendored
@@ -3,6 +3,9 @@ pipeline {
|
|||||||
DOCKER_USERNAME = 'jenkins'
|
DOCKER_USERNAME = 'jenkins'
|
||||||
DOCKER_PASSWORD = credentials('gitea_jenkins')
|
DOCKER_PASSWORD = credentials('gitea_jenkins')
|
||||||
SONAR_TOKEN = credentials('sonarcube_token')
|
SONAR_TOKEN = credentials('sonarcube_token')
|
||||||
|
POSTGRES_USER = 'postgres'
|
||||||
|
POSTGRES_PASSWORD = 'password'
|
||||||
|
POSTGRES_DB = 'arbeitszeitmessung'
|
||||||
}
|
}
|
||||||
|
|
||||||
agent any
|
agent any
|
||||||
@@ -11,30 +14,53 @@ pipeline {
|
|||||||
stage('Test') {
|
stage('Test') {
|
||||||
agent {
|
agent {
|
||||||
docker {
|
docker {
|
||||||
image 'golang:alpine'
|
image ''
|
||||||
|
args ''
|
||||||
|
args ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh 'cd Backend && go mod download && go mod verify'
|
script {
|
||||||
sh 'make test'
|
sh '''
|
||||||
}
|
docker run -d --rm \
|
||||||
}
|
--name test-db \
|
||||||
stage('SonarCube Analysis') {
|
-e POSTGRES_USER={$POSTGRES_USER} \
|
||||||
steps {
|
-e POSTGRES_PASSWORD={$POSTGRES_PASSWORD} \
|
||||||
sh 'make scan'
|
-e POSTGRES_DB={$POSTGRES_DB} \
|
||||||
}
|
-v ./DB/initdb:/docker-entrypoint-initdb.d\
|
||||||
}
|
-p "5432:5432" \
|
||||||
stage('Building image arbeitszeit-backend') {
|
postgres:16
|
||||||
when {
|
'''
|
||||||
anyOf {
|
// docker.image('golang:1.24.5').withRun(
|
||||||
changeset 'Jenkinsfile'
|
// '-u root:root --network=host'
|
||||||
changeset 'Makefile'
|
// ) { go ->
|
||||||
changeset 'Backend/**'
|
// // wait for DB to start
|
||||||
|
// sh '''
|
||||||
|
// cd Backend \
|
||||||
|
// go mod download && go mod tidy \
|
||||||
|
// go test ./... -v
|
||||||
|
|
||||||
|
// '''
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
steps {
|
|
||||||
sh 'make backend'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
stage('SonarCube Analysis') {
|
||||||
|
steps {
|
||||||
|
sh 'make scan'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('Building image arbeitszeit-backend') {
|
||||||
|
when {
|
||||||
|
anyOf {
|
||||||
|
changeset 'Jenkinsfile'
|
||||||
|
changeset 'Makefile'
|
||||||
|
changeset 'Backend/**'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh 'make backend'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user