ADD: Jenkinsfile
This commit is contained in:
37
Jenkinsfile
vendored
Normal file
37
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
pipeline {
|
||||||
|
environment {
|
||||||
|
DOCKER_USERNAME = 'tom'
|
||||||
|
DOCKER_PASSWORD = credentials('dgitea_tom')
|
||||||
|
}
|
||||||
|
|
||||||
|
agent any
|
||||||
|
|
||||||
|
stages {
|
||||||
|
stage ("Building image arbeitszeit-backend"){
|
||||||
|
when {
|
||||||
|
anyOf{
|
||||||
|
changeset 'Jenkinsfile'
|
||||||
|
changeset 'Makefile'
|
||||||
|
changeset 'Backend/**'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh 'make build_backend'
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
stage('Deploying image arbeitszeit-backend') {
|
||||||
|
when {
|
||||||
|
anyOf{
|
||||||
|
changeset 'Jenkinsfile'
|
||||||
|
changeset 'Makefile'
|
||||||
|
changeset 'Backend/**'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh 'make push_backend'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
38
Makefile
Normal file
38
Makefile
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
DOCKER_USERNAME ?= tom
|
||||||
|
DOCKER_PASSWORD ?= $(shell echo "YOUR_DEFAULT_PASSWORD")
|
||||||
|
IMAGE_REGISTRY ?= git.letsstein.de
|
||||||
|
APPLICATION_NAME ?= arbeitszeit
|
||||||
|
_BUILD_ARGS_APP_PART ?= .
|
||||||
|
_BUILD_ARGS_TAG ?= latest
|
||||||
|
TAG ?= latest
|
||||||
|
GIT_COMMIT ?= $(shell git rev-parse --short HEAD)
|
||||||
|
|
||||||
|
capitalize = $(shell echo $(1) | sed 's/.*/\u&/')
|
||||||
|
|
||||||
|
login_registry:
|
||||||
|
ifdef JENKINS_HOME
|
||||||
|
echo "Logging in to Docker registry..."
|
||||||
|
echo ${DOCKER_PASSWORD} | docker login -u $(DOCKER_USERNAME) --password-stdin $(IMAGE_REGISTRY)
|
||||||
|
endif
|
||||||
|
|
||||||
|
_builder:
|
||||||
|
docker build --tag ${IMAGE_REGISTRY}/${DOCKER_USERNAME}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${GIT_COMMIT} -f $(call capitalize, ${_BUILD_ARGS_APP_PART})/Dockerfile $(call capitalize, ${_BUILD_ARGS_APP_PART})
|
||||||
|
|
||||||
|
_pusher: login_registry
|
||||||
|
docker push ${IMAGE_REGISTRY}/${DOCKER_USERNAME}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${GIT_COMMIT}
|
||||||
|
docker tag ${IMAGE_REGISTRY}/${DOCKER_USERNAME}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${GIT_COMMIT} ${IMAGE_REGISTRY}/${DOCKER_USERNAME}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${_BUILD_ARGS_TAG}
|
||||||
|
docker push ${IMAGE_REGISTRY}/${DOCKER_USERNAME}/${APPLICATION_NAME}-${_BUILD_ARGS_APP_PART}:${_BUILD_ARGS_TAG}
|
||||||
|
|
||||||
|
|
||||||
|
build_%:
|
||||||
|
$(MAKE) _builder \
|
||||||
|
-e _BUILD_ARGS_APP_PART="$*" \
|
||||||
|
|
||||||
|
push_%:
|
||||||
|
$(MAKE) _pusher \
|
||||||
|
-e _BUILD_ARGS_APP_PART="$*" \
|
||||||
|
-e _BUILD_ARGS_TAG="${TAG}"
|
||||||
|
|
||||||
|
full_%:
|
||||||
|
make build_$*
|
||||||
|
make push_$*
|
||||||
Reference in New Issue
Block a user