154 lines
7.3 KiB
Groovy
154 lines
7.3 KiB
Groovy
#!/usr/bin/env groovy
|
|
import groovy.transform.Field
|
|
|
|
@Field def _DDrive = 'D:/'
|
|
@Field def _AssemblyName = '...'
|
|
@Field def _NetVersion = 'net6.0'
|
|
@Field def _TargetLocation = '...'
|
|
@Field def _GitCommitSeven = '...'
|
|
@Field def _TestProjectDirectory = 'Adaptation'
|
|
@Field def _DDriveNet = "${_DDrive}${_NetVersion}"
|
|
@Field def _ProgramFilesDotnet = 'C:/Program Files/dotnet/dotnet.exe'
|
|
@Field def _ProgramFilesMSBuild = 'C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe'
|
|
|
|
pipeline {
|
|
agent any
|
|
parameters {
|
|
string(name: 'EAF_ENVIRONMENT', defaultValue: 'Staging', description: 'Environment for file-share')
|
|
string(name: 'DEFAULT_FILE_SERVER', defaultValue: 'messv02ecc1.ec.local', description: 'Default file server...')
|
|
}
|
|
stages {
|
|
// stage('Git') {
|
|
// steps {
|
|
// bat(returnStatus: true, script: 'git init')
|
|
// bat(returnStatus: true, script: 'git remote add origin \\\\mestsa07ec.ec.local\\Git\\MET08RESIMAPCDE.git')
|
|
// bat(returnStatus: true, script: 'git pull origin master')
|
|
// }
|
|
// }
|
|
stage('Setup') {
|
|
steps {
|
|
script {
|
|
_AssemblyName = "${env.JOB_NAME}"
|
|
_GitCommitSeven = "${env.GIT_COMMIT.substring(0, 7)}"
|
|
def files = findFiles(glob: '*.csproj')
|
|
if (files.length != 1) {
|
|
error("Build failed because couldn't find a *.csproj file")
|
|
}
|
|
echo """
|
|
${files[0].name}
|
|
${files[0].path}
|
|
${files[0].directory}
|
|
${files[0].length}
|
|
${files[0].lastModified}
|
|
"""
|
|
_AssemblyName = files[0].name.split('[.]csproj')[0]
|
|
_TargetLocation = "\\\\${params.DEFAULT_FILE_SERVER}\\EC_EAFRepository\\${params.EAF_ENVIRONMENT}\\DeploymentStorage\\Adaptation_${_AssemblyName}"
|
|
}
|
|
}
|
|
}
|
|
stage('Info') {
|
|
steps {
|
|
echo "BUILD_NUMBER ${env.BUILD_NUMBER}" // 11
|
|
echo "JOB_NAME ${env.JOB_NAME}" // MET08RESIMAPCDE
|
|
echo "_AssemblyName ${_AssemblyName}" // YODA Viewer
|
|
echo "GIT_BRANCH ${env.GIT_BRANCH}" // origin/master
|
|
echo "WORKSPACE ${env.WORKSPACE}" // D:\.jenkins\_\MET08RESIMAPCDE
|
|
echo "JENKINS_URL ${env.JENKINS_URL}" // http://localhost:8080/
|
|
echo "GIT_URL ${env.GIT_URL}" // D:\ProgramData\Git\MET08RESIMAPCDE.git
|
|
echo "GIT_COMMIT ${env.GIT_COMMIT}" // 73b814069f2cf0173a62a8228815a9bc9ba93c41
|
|
}
|
|
}
|
|
stage('Core Build') {
|
|
steps {
|
|
echo "Build number is ${currentBuild.number}"
|
|
dir(_TestProjectDirectory) {
|
|
bat(returnStatus: true, script: '"' + "${_ProgramFilesDotnet}" + '" ' +
|
|
'build --runtime win-x64 --self-contained --verbosity quiet')
|
|
}
|
|
}
|
|
}
|
|
// stage('Test') {
|
|
// options {
|
|
// timeout(time: 10, unit: 'MINUTES')
|
|
// }
|
|
// steps {
|
|
// dir(_TestProjectDirectory) {
|
|
// bat('dotnet --info')
|
|
// }
|
|
// }
|
|
// }
|
|
stage('Framework Build') {
|
|
steps {
|
|
echo "Build number is ${currentBuild.number}"
|
|
bat(returnStatus: true, script: '"' + "${_ProgramFilesMSBuild}" + '" ' +
|
|
'/target:Restore ' +
|
|
'/detailedsummary ' +
|
|
'/consoleloggerparameters:PerformanceSummary;ErrorsOnly; ' +
|
|
'/property:Configuration=Debug;TargetFrameworkVersion=v4.8 ' +
|
|
_AssemblyName + '.csproj')
|
|
bat(returnStatus: true, script: '"' + "${_ProgramFilesMSBuild}" + '" ' +
|
|
'/target:Build ' +
|
|
'/detailedsummary ' +
|
|
'/consoleloggerparameters:PerformanceSummary;ErrorsOnly; ' +
|
|
'/property:Configuration=Debug;TargetFrameworkVersion=v4.8 ' +
|
|
_AssemblyName + '.csproj')
|
|
}
|
|
}
|
|
stage('Commit Id') {
|
|
steps {
|
|
dir('bin/Debug') {
|
|
writeFile file: "${_AssemblyName}.txt", text: "${env.GIT_COMMIT}-${env.BUILD_NUMBER}-${env.GIT_URL}"
|
|
}
|
|
}
|
|
}
|
|
stage('Package') {
|
|
steps {
|
|
fileOperations([fileZipOperation(folderPath: 'bin/Debug', outputFolderPath: "${_DDriveNet}/${_GitCommitSeven}-${env.BUILD_NUMBER}-${env.JOB_NAME}-Debug")])
|
|
fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, includes: "${_AssemblyName}*", renameFiles: false, sourceCaptureExpression: '', targetLocation: "${_DDriveNet}/${_GitCommitSeven}-${env.BUILD_NUMBER}-${env.JOB_NAME}-Debug", targetNameExpression: '')])
|
|
}
|
|
}
|
|
// stage('Publish') {
|
|
// steps {
|
|
// bat(returnStatus: true, script: '"' + "${_ProgramFilesDotnet}" + '" ' +
|
|
// 'remove reference "../Client/' + "${env.JOB_NAME}" + '.Client.csproj"')
|
|
// bat(returnStatus: true, script: '"' + "${_ProgramFilesDotnet}" + '" ' +
|
|
// 'publish --configuration Release --runtime win-x64 --verbosity quiet ' +
|
|
// "--self-contained true --p:Version=6.0.202-${_GitCommitSeven}-${env.BUILD_NUMBER} -o " +
|
|
// '"' + "${_DDriveNet}/${_GitCommitSeven}-${env.BUILD_NUMBER}-${env.JOB_NAME}" + '"')
|
|
// }
|
|
// }
|
|
// stage('Force Fail') {
|
|
// steps {
|
|
// error("Build failed because of this and that..")
|
|
// }
|
|
// }
|
|
stage('Copy Files to: file-share') {
|
|
steps {
|
|
dir('bin/Debug') {
|
|
fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, includes: "${_AssemblyName}*.txt", renameFiles: false, sourceCaptureExpression: '', targetLocation: _TargetLocation, targetNameExpression: '')])
|
|
fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, includes: "${_AssemblyName}*.dll", renameFiles: false, sourceCaptureExpression: '', targetLocation: _TargetLocation, targetNameExpression: '')])
|
|
fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, includes: "${_AssemblyName}*.exe", renameFiles: false, sourceCaptureExpression: '', targetLocation: _TargetLocation, targetNameExpression: '')])
|
|
fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, includes: "${_AssemblyName}*.pdb", renameFiles: false, sourceCaptureExpression: '', targetLocation: _TargetLocation, targetNameExpression: '')])
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
dir('bin') {
|
|
deleteDir()
|
|
}
|
|
dir('obj') {
|
|
deleteDir()
|
|
}
|
|
dir(_TestProjectDirectory + '/bin') {
|
|
deleteDir()
|
|
}
|
|
dir(_TestProjectDirectory + '/obj') {
|
|
deleteDir()
|
|
}
|
|
cleanWs()
|
|
}
|
|
}
|
|
}
|