commit
61e21e1016
|
@ -0,0 +1,15 @@
|
||||||
|
ARG BASE_IMAGE="nginx"
|
||||||
|
|
||||||
|
FROM ${BASE_IMAGE}
|
||||||
|
|
||||||
|
# Install groovy
|
||||||
|
ENV GROOVY_HOME=/opt/groovy
|
||||||
|
ENV GROOVY_VERSION=4.0.9
|
||||||
|
|
||||||
|
# Install ping and ip
|
||||||
|
RUN apt update && \
|
||||||
|
apt install iproute2 && \
|
||||||
|
apt install iputils-ping
|
||||||
|
|
||||||
|
ENTRYPOINT [ "docker-entrypoint.sh" ]
|
||||||
|
CMD [ "app" ]
|
|
@ -0,0 +1,45 @@
|
||||||
|
def resolveImageTag(env) {
|
||||||
|
return env.TAG_NAME?.replace(env.RELEASE_TAG_PREFIX, '') ?: 'latest'
|
||||||
|
}
|
||||||
|
|
||||||
|
def resolveImageName(env) {
|
||||||
|
return "${env.REGISTRY_HOST}/docker-base-images/${env.IMAGE_BASE_NAME}:${resolveImageTag(env)}"
|
||||||
|
}
|
||||||
|
|
||||||
|
pipeline {
|
||||||
|
agent {
|
||||||
|
docker {
|
||||||
|
image 'git.tswf.io/docker-base-images/alpine-base:1.0.0-3.17.3'
|
||||||
|
// Mount docker socket for docker-in-docker
|
||||||
|
args '-v /var/run/docker.sock:/var/run/docker.sock'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stages {
|
||||||
|
stage('prepare') {
|
||||||
|
steps {
|
||||||
|
script {
|
||||||
|
env.IMAGE_BASE_NAME = "jdk14-alpine"
|
||||||
|
env.RELEASE_TAG_PREFIX = "release-"
|
||||||
|
env.REGISTRY_HOST = "git.tswf.io"
|
||||||
|
if (env.TAG_NAME == null) {
|
||||||
|
env.TAG_NAME = sh(returnStdout: true, script: "git tag --points-at HEAD").trim()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('build_docker') {
|
||||||
|
steps {
|
||||||
|
sh "docker build . --tag ${resolveImageName(env)}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage('push_docker') {
|
||||||
|
when {
|
||||||
|
tag "${env.RELEASE_TAG_PREFIX}*"
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh "docker login ${env.REGISTRY_HOST} -u ${env.GITEA_USER} -p ${env.GITEA_OAUTH_TOKEN}"
|
||||||
|
sh "docker image push ${resolveImageName(env)}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -Eeo pipefail
|
||||||
|
|
||||||
|
if [ -f "/invoke_initial_script.sh" ]; then
|
||||||
|
chmod +x /invoke_initial_script.sh
|
||||||
|
source /invoke_initial_script.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$1" = 'app' ]]; then
|
||||||
|
exec nginx -g 'daemon off;'
|
||||||
|
else
|
||||||
|
exec "$@"
|
||||||
|
fi
|
Loading…
Reference in New Issue