deluge to new format

This commit is contained in:
Hyatt 2022-01-27 08:43:52 -06:00
parent b7bed15755
commit 7254291e24

View File

@ -1,51 +1,9 @@
def nodeLabel = "${UUID.randomUUID().toString()}" #!groovy
def repository = "registry.c.test-chamber-13.lan" def repository = "registry.c.test-chamber-13.lan"
def kanikoImage = "${repository}/library/kaniko:latest"
def repositoryCreds = "harbor-repository-creds" def repositoryCreds = "harbor-repository-creds"
podTemplate( def connectivity_test = """#! /usr/bin/env bash
name: "pipelineContainer",
label: nodeLabel,
yaml: """---
apiVersion: v1
kind: Pod
metadata:
name: kaniko
spec:
containers:
- name: kaniko
image: ${kanikoImage}
imagePullPolicy: Always
tty: true
command:
- /busybox/cat
""") {
node (nodeLabel) {
stage ("Prepare Kaniko") {
container ("kaniko") {
withCredentials([usernameColonPassword(
credentialsId: repositoryCreds,
variable: "dCreds",
)]) {
def dockerJSON = """{
"auths": {
"${repository}": {
"auth": "${dcreds.bytes.encodeBase64().toString()}"
}
}
}"""
sh """
set +x
echo '${dockerJSON}' > /kaniko/.docker/config.json
"""
}
}
}
stage('Build Container') {
container('kaniko') {
def connectivity_test = """
#! /usr/bin/env bash
curl --silent --fail --insecure http://localhost:8112 > /dev/null curl --silent --fail --insecure http://localhost:8112 > /dev/null
if [[ "\${?}" != "0" ]]; then if [[ "\${?}" != "0" ]]; then
printf '%s\\n' "Deluge not running." printf '%s\\n' "Deluge not running."
@ -81,20 +39,39 @@ if [[ "\${?}" != "0" ]]; then
fi fi
""" """
def dockerfile = """FROM ${repository}/dockerhub/linuxserver/deluge:amd64-version-2.0.3-2201906121747ubuntu18.04.1 def dockerFile = """FROM ${repository}/dockerhub/linuxserver/deluge:amd64-latest
COPY connectivity_test.sh /root #FROM ${repository}/dockerhub/linuxserver/deluge:amd64-version-2.0.3-2201906121747ubuntu18.04.1
COPY connectivity_test.sh /root/connectivity_test.sh
RUN apt-get update && \\ RUN apt-get update && \\
apt-get install -y openvpn iputils-ping dnsutils && \\ apt-get install -y openvpn iputils-ping dnsutils && \\
apt-get clean && \\ apt-get clean && \\
rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* && \\
chmod +x /root/connectivity_test.sh
""" """
writeFile file: workspace + '/Dockerfile', text: dockerfile def label = "kubernetes-${UUID.randomUUID().toString()}"
writeFile file: workspace + '/connectivity_test.sh', text: connectivity_test def templateName = "pipeline-worker"
sh "chmod +x \"${workspace}/connectivity_test.sh\"" podTemplate(
sh "/kaniko/executor --context \"${workspace}\" -f \"${workspace}/Dockerfile\" --destination \"${repository}/library/deluge:latest\"" label: label,
} name: templateName,
} yaml: functions.podYaml(
repo: repository,
templateName: templateName,
kaniko: true
)
) {
node (label) {
def workspace = pwd()
writeFile(file: workspace + "/connectivity_test.sh", text: connectivity_test)
functions.buildContainer(
repository: repository,
imageDest: "${repository}/library/deluge:latest",
dockerFile: dockerFile,
repoCreds: repositoryCreds,
)
} }
} }