1 集成maven
1.1 安装maven
下载地址
https://maven.apache.org/download.cgi
tar zxf apache-maven-3.6.2-bin.tar.gz -C /app/module
ln -s /app/module/apache-maven-3.6.2-bin /app/module/maven
#设置全局变量(/etc/profile)
export MAVEN_HOME=/app/module/maven
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
1.2 jenkins配置maven
1.3 Jenkinsfile
node {
stage('build') {
mvnHome = tool 'maven3.6.2'
//mvnHome = '/app/module/maven'
sh "${mvnHome}/bin/mvn -v"
}
}
构建输出
2 集成nodejs
2.1 安装nodejs
下载地址
https://nodejs.org/en/download/
tar -xf node-v16.19.1-linux-x64.tar.gz -C /app/module/
cd /app/module/
ln -s node-v16.19.1-linux-x64/ nodejs
#设置全局变量(/etc/profile)
export NODEJS_HOME=/app/module/nodejs
export PATH=$PATH:$NODEJS_HOME/bin
source /etc/profile
2.2 jenkins集成nodejs
需要安装nodejs插件
2.3 Jenkinsfile
node {
stage('build') {
//npmHome = tool 'nodejs'
npmHome = '/app/module/nodejs'
sh "${npmHome}/bin/npm -v"
}
}
构建输出
3 集成ansible
3.1 安装ansible
yum install -y ansible
3.2 Jenkinsfile
String deployHosts='server1,server2'
stage('Deploy') {
steps {
script {
hosts = deployHosts.split(',').toList()
for (host in hosts){
sh "ansible ${host} -m shell -a 'free -h'"
}
}
}
}
4 构建脚本
参数化构建
流水线
pipeline {
agent {
node {
label "built-in"
}
}
environment {
String buildType="${env.buildType}"
String buildShell="${env.buildShell}"
mvnHome = tool "maven3.6.2"
npmHome = "/app/module/nodejs"
}
stages {
stage('Hello') {
steps {
script {
if( buildType == "maven" ){
sh "${mvnHome}/bin/mvn ${buildShell}"
}else if( buildType == "npm" ){
sh "${npmHome}/bin/npm ${buildShell}"
}else {
sh "echo error buildType"
}
}
}
}
}
}