Загрузка артефактов в Nexus с помощью Jenkins Pipeline | Пример использования загрузчика артефакт...
DevOps Hint
0:00 / 0:00
Загрузка артефактов в Nexus с помощью Jenkins Pipeline | Пример использования загрузчика артефакт...
10 026 просмотров · 4 года назад
DevOps Hint
24,5 тыс. подписчиков
10 026 просмотров · 4 года назад
================================================================
Получите скидку 85% на все курсы Udemy: https://bit.ly/2XAJBdc
Реферальный код для получения 100 долларов бесплатного облака DigitalOcean - https://m.do.co/c/54a472cede60
==================================================================
В этом видео мы рассмотрим загрузку артефактов в Nexus с помощью конвейера Jenkins | Пример загрузчика артефактов Jenkins Nexus | Конвейер CI/CD Jenkins
#jenkinsnexusintegration #jenkinscicd #nexusjenkins
0:00 Пример загрузки артефактов в Nexus с помощью Jenkins
12:00 Загрузка артефактов в Nexus с помощью конвейера Jenkins
Ниже приведен Jenkinsfile Загрузка артефактов в Nexus с помощью конвейера Jenkins
pipeline {
agent any
tools {
maven "MAVEN"
environment {
NEXUS_VERSION = "nexus3"
NEXUS_PROTOCOL = "http"
NEXUS_URL = "159.223.191.140:8081"
NEXUS_REPOSITORY = "java-app"
NEXUS_CREDENTIAL_ID = "NEXUS_CRED"
stages {
stage("Клонировать код из GitHub") {
steps {
script {
checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'githubwithpassword', url: 'https://github.com/devopshint/jenkins...]]])
}
}
}
stage("Maven Build") {
steps {
script {
sh "mvn -Dmaven.test.failure.ignore=true clean package"
}
}
}
stage("Publish to Nexus Repository Manager") {
steps {
script {
pom = readMavenPom file: "pom.xml";
filesByGlob = findFiles(glob: "target/*.${pom.packaging}");
echo "${filesByGlob[0].name} ${filesByGlob[0].path} ${filesByGlob[0].directory} ${filesByGlob[0].length} ${filesByGlob[0].lastModified}"
artifactPath = filesByGlob[0].path;
artifactExists = fileExists artifactPath;
if(artifactExists) {
echo "*** File: ${artifactPath}, group: ${pom.groupId}, packaging: ${pom.packaging}, version ${pom.version}";
nexusArtifactUploader(
nexusVersion: NEXUS_VERSION,
protocol: NEXUS_PROTOCOL,
nexusUrl: NEXUS_URL,
groupId: pom.groupId,
version: pom.version,
repository: NEXUS_REPOSITORY,
credentialsId: NEXUS_CREDENTIAL_ID,
artifacts: [
[artifactId: pom.artifactId,
classifier: '',
file: artifactPath,
type: pom.packaging],
[artifactId: pom.artifactId,
classifier: '',
file: "pom.xml",
type: "pom"]
]
);
} else {
error "*** Файл: ${artifactPath} не найден";
}
}
}
}
}