Add pvw-pipliner/build-job.groovy
This commit is contained in:
parent
be18b37e21
commit
06738c39c5
69
pvw-pipliner/build-job.groovy
Normal file
69
pvw-pipliner/build-job.groovy
Normal file
@ -0,0 +1,69 @@
|
||||
import groovy.json.JsonBuilder
|
||||
if (params.configPipeline in [null, true]){
|
||||
echo "INFO: Start config job"
|
||||
configPipeline()
|
||||
addHtmlBadge html: '<b><i>Config</i></b>', id: ''
|
||||
return
|
||||
}
|
||||
|
||||
timestamps{
|
||||
node('k8s-agent-run'){
|
||||
def dockerConfigPath = "${env.WORKSPACE}"
|
||||
stage("cleaning"){
|
||||
cleanWs()
|
||||
}
|
||||
stage("pull"){
|
||||
withCredentials([usernamePassword(credentialsId: CRED_ARTIFACTORY, passwordVariable: 'nexusPass', usernameVariable: 'nexusUser')]) {
|
||||
dir('app') {
|
||||
checkout scm
|
||||
echo "jenkins env = ${env.JOB_NAME}-${env.BUILD_NUMBER}"
|
||||
sh "docker build -t build-${env.JOB_NAME}-${env.BUILD_NUMBER} . --progress plain --no-cache"
|
||||
sh "docker ps -a"
|
||||
//sh "docker images"
|
||||
//sh "docker cp build-${env.JOB_NAME}-${env.BUILD_NUMBER}:/tmp/publish/App01.dll ."
|
||||
//sh "docker cp 200d14fc32d1:/tmp/publish/App01.dll ."
|
||||
def result=sh script:"docker run -t -d --rm --entrypoint= build-${env.JOB_NAME}-${env.BUILD_NUMBER}:latest sleep 360", returnStdout: true
|
||||
echo "${result}"
|
||||
sh "docker cp ${result.trim()}:/tmp/publish ."
|
||||
sh "ls -la"
|
||||
sh "tar cfz distr.tar.gz publish"
|
||||
sh "tar cfz source.tar.gz Program.cs App01.csproj"
|
||||
sh "ls -la"
|
||||
sh """
|
||||
curl -u "${nexusUser}:${nexusPass}" \
|
||||
-X PUT \
|
||||
-H "Content-Type: application/octet-stream" \
|
||||
--data-binary @distr.tar.gz \
|
||||
"https://pvw.tn.tngrp.ru/ssd/tools/arr-ci/repository/tnt_maven/ru/tnt/etnt/helloworld/1.0.0-${env.BUILD_NUMBER}/helloworld-1.0.0-${env.BUILD_NUMBER}.tar.gz"
|
||||
curl -u "${nexusUser}:${nexusPass}" \
|
||||
-X PUT \
|
||||
-H "Content-Type: application/octet-stream" \
|
||||
--data-binary @source.tar.gz \
|
||||
"https://pvw.tn.tngrp.ru/ssd/tools/arr-ci/repository/tnt_maven/ru/tnt/etnt/helloworld-sources/1.0.0-${env.BUILD_NUMBER}/helloworld-sources-1.0.0-${env.BUILD_NUMBER}.tar.gz"
|
||||
"""
|
||||
sh "docker rmi --force build-${env.JOB_NAME}-${env.BUILD_NUMBER}"
|
||||
}
|
||||
sh "ls -la"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def configPipeline()
|
||||
{
|
||||
echo "Config it!"
|
||||
properties([
|
||||
parameters([
|
||||
booleanParam(
|
||||
defaultValue: false,
|
||||
description: "Конфигурация pipeline",
|
||||
name: "configPipeline"),
|
||||
string(
|
||||
defaultValue: params.CRED_ARTIFACTORY,
|
||||
description: "Кред для аутентификации в Artifactory",
|
||||
trim: true,
|
||||
name: "CRED_ARTIFACTORY")
|
||||
])
|
||||
])
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user