centos

怎样自定义centos jenkins部署

小樊
56
2025-09-20 08:34:25
栏目: 智能运维

一、环境准备:安装基础依赖

在CentOS上自定义Jenkins部署前,需先安装Java(Jenkins依赖)、Git(代码托管库交互)、Docker(可选,用于容器化部署)等工具。

二、安装Jenkins:选择合适方式部署

1. YUM方式安装(推荐,便于管理)

# 添加Jenkins官方YUM仓库
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

# 安装Jenkins
sudo yum install -y jenkins

# 启动Jenkins并设置开机自启
sudo systemctl start jenkins
sudo systemctl enable jenkins

2. WAR包方式安装(灵活,适合自定义环境)

# 下载Jenkins WAR包
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

# 后台启动Jenkins(指定端口为8080)
nohup java -jar jenkins.war --httpPort=8080 > jenkins.log 2>&1 &

# 查看初始管理员密码(用于首次登录)
tail -f jenkins.log  # 密码位于/var/lib/jenkins/secrets/initialAdminPassword

三、配置Jenkins:基础设置与插件安装

1. 首次登录配置

2. 安装必要插件

进入“Manage Jenkins” → “Manage Plugins”,安装以下插件:

3. 配置全局工具

进入“Manage Jenkins” → “Global Tool Configuration”,设置常用工具路径:

4. 创建管理员账户

首次登录后,设置管理员用户名、密码及邮箱,完成基础配置。

四、创建Jenkins任务:自定义部署流程

1. 新建任务

进入Jenkins首页,点击“New Item”,选择任务类型(如“Freestyle project”或“Pipeline”),输入任务名称后点击“OK”。

2. 配置源码管理

3. 配置构建触发器

4. 配置构建步骤

5. 配置构建后操作

五、自定义Pipeline脚本:实现持续交付

在代码仓库根目录创建Jenkinsfile,以代码形式定义部署流程(推荐)。示例如下:

pipeline {
    agent any  // 使用任意可用节点

    stages {
        stage('Pull Code') {
            steps {
                git branch: 'main', url: 'https://github.com/your-repo/project.git'
            }
        }

        stage('Build') {
            steps {
                sh 'mvn clean package'  // Maven编译打包
            }
        }

        stage('Deploy to Test') {
            steps {
                sh 'scp target/*.war tomcat@<测试服务器IP>:/opt/tomcat/webapps/'
                ssh tomcat@<测试服务器IP> 'systemctl restart tomcat'
            }
        }

        stage('Deploy to Production') {
            when {
                expression { return currentBuild.result == 'SUCCESS' }  // 仅构建成功时部署
            }
            steps {
                input message: '确认部署到生产环境?', ok: 'Deploy'
                sh 'scp target/*.war tomcat@<生产服务器IP>:/opt/tomcat/webapps/'
                ssh tomcat@<生产服务器IP> 'systemctl restart tomcat'
            }
        }
    }

    post {
        always {
            echo '构建流程结束,发送通知...'
        }
        success {
            echo '构建成功!'
        }
        failure {
            echo '构建失败,请检查日志!'
        }
    }
}

六、高级自定义:优化部署流程

1. 使用Docker容器化部署

2. 配置多环境部署

通过Jenkins参数化构建(如“String Parameter”添加ENVIRONMENT参数,值为testproduction),在Pipeline脚本中根据参数选择部署目标:

parameters {
    string(name: 'ENVIRONMENT', defaultValue: 'test', description: '部署环境(test/production)')
}

stage('Deploy') {
    steps {
        script {
            if (params.ENVIRONMENT == 'test') {
                // 部署到测试环境
            } else if (params.ENVIRONMENT == 'production') {
                // 部署到生产环境(需增加确认步骤)
            }
        }
    }
}

3. 集成测试与代码质量检查

在Pipeline中添加测试阶段(如JUnit测试)和代码质量检查(如SonarQube扫描):

stage('Test') {
    steps {
        sh 'mvn test'  // 执行单元测试
    }
}

stage('Code Quality Check') {
    steps {
        withSonarQubeEnv('sonarqube-server') {  // 配置SonarQube服务器
            sh 'mvn sonar:sonar'
        }
    }
}

七、常见问题排查

通过以上步骤,可在CentOS上自定义Jenkins部署流程,实现从代码提交到测试、生产的自动化持续交付。根据项目需求,可进一步扩展Pipeline脚本(如集成性能测试、通知机器人),或优化部署策略(如蓝绿部署、滚动更新)。

0
看了该问题的人还看了