参考https://editor.csdn.net/md/?articleId=117675700 Jenkins拉取代码
在agent服务器上创建用来存放jar包的maven仓库
mkdir -p /data/maven/repository
修改maven的config文件
设置
<localRepository>/data/maven/repository</localRepository>
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
修改Jenkinsfile文件并提交到gitlab
pipeline {
//执行脚本的服务器名
agent {
label 'agent-131'
}
stages {
stage('环境验证') {
steps {
sh label: '',
script: '''java -version
docker -v
git version
mvn -v
'''
}
}
stage('拉取代码') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '*/dev']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '9644a6fe-9c5c-4f4d-8387-d72246e7571d', url: 'ssh://git@192.168.247.130:222/first/arctest.git']]])
}
}
stage('mvn打包') {
steps {
sh label: '', script: 'mvn package'
}
}
//cd到jar包目录再执行(pom文件中需要配置maven-plugin)
stage('启动jar包') {
steps {
sh label: '', script: sh label: '', script: '''cd web
cd target
java -jar web-1.0-SNAPSHOT.jar
'''
}
}
}
}
在Jenkins上构建