CentOS环境下Jenkins配置中使用脚本的常见方式
Freestyle Project是Jenkins的传统项目类型,适合简单的脚本执行需求。
#!/bin/bash
echo "Starting build process..."
sudo yum update -y # 更新系统包(需确保Jenkins用户有sudo权限)
git clone https://github.com/example/repo.git # 克隆代码仓库
cd repo && mvn clean install # 进入项目目录并执行Maven构建
H/5 * * * *表示每5分钟构建一次)。构建完成后,可通过“Build History”查看日志,确认脚本执行结果。Pipeline是Jenkins的自动化流程编排工具,支持通过代码定义构建、测试、部署全流程,适合复杂项目。
pipeline {
agent any // 使用任意可用的Jenkins节点
stages {
stage('Build') {
steps {
echo 'Compiling code...'
sh './gradlew build' // 执行Gradle构建
}
}
stage('Test') {
steps {
echo 'Running tests...'
sh './gradlew test' // 执行单元测试
}
}
stage('Deploy') {
steps {
echo 'Deploying to production...'
sh 'ansible-playbook deploy.yml' # 使用Ansible部署
}
}
}
}
Jenkinsfile)。这种方式将脚本与代码版本绑定,便于统一管理。若需要在远程CentOS服务器上执行脚本(如部署到测试/生产环境),可使用Jenkins的SSH插件。
root或部署用户)。192.168.1.100:22),选择之前配置的SSH凭据,在“Command”输入框中编写远程执行的脚本(如重启服务、更新代码等)。示例如下:cd /var/www/app && git pull origin main # 拉取最新代码
systemctl restart nginx # 重启Nginx服务
jenkins)对脚本执行目录、代码仓库、目标服务器有足够的访问权限(如通过sudo或调整目录权限)。JAVA_HOME、PATH),需在Jenkins的全局配置(“Manage Jenkins” -> “Configure System”)或项目配置中添加,避免脚本因环境缺失而失败。/var/log/jenkins/jenkins.log),避免日志过大占用磁盘空间;对于敏感信息(如密码、私钥),建议使用Jenkins的“Mask Passwords”插件隐藏。