Jenkins实现自定义脚本的常见方法
Freestyle Project是Jenkins的传统项目类型,适合简单场景的自定义脚本执行。
#!/bin/bash
npm install
npm run build
mvn clean package
java -jar target/yourApp.jar
Pipeline是Jenkins推荐的自动化流程工具,通过Groovy DSL定义构建流程,支持版本控制、复用和复杂逻辑。
pipeline {
agent any // 指定执行节点
stages {
stage('Build') {
steps {
sh 'npm install' // 执行Shell命令
sh 'npm run build'
}
}
stage('Test') {
steps {
sh 'npm test' // 运行测试
}
}
stage('Deploy') {
steps {
script {
// 动态生成部署脚本
sh '''
cat > deploy.sh <<EOF
echo "Deploying to production..."
scp -r ./dist/* user@server:/var/www/html
EOF
'''
sh 'chmod +x deploy.sh && ./deploy.sh' // 执行部署脚本
}
}
}
}
}
若需在远程服务器上执行自定义脚本(如部署到生产环境),可通过SSH插件实现。
sh /path/to/remote_script.sh)。对于需要动态调整构建流程的场景(如根据条件跳过阶段、调用外部API),可通过Groovy脚本实现。
script块嵌入Groovy代码,例如:pipeline {
agent any
stages {
stage('Dynamic Step') {
steps {
script {
def shouldDeploy = env.BRANCH_NAME == 'main' // 条件判断
if (shouldDeploy) {
sh 'echo "Deploying main branch..."'
} else {
echo 'Skipping deployment for non-main branches.'
}
}
}
}
}
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。