Jenkins 是一个流行的开源持续集成和持续交付工具,可以帮助团队更快速地构建、测试和部署软件。下面详细讲解在 CentOS 7 系统上安装 Jenkins 的过程。
环境准备在安装 Jenkins 前,需要确保你的系统已经安装了 Java。可以使用以下命令验证系统是否安装了 Java:
java -version
如果系统未安装 Java,需要先安装 Java。可以使用以下命令安装 OpenJDK Java 8:
sudo yum install java-1.8.0-openjdk-devel
安装完成后,可以使用以下命令验证 Java 是否成功安装:
java -version
安装 Jenkins
- 添加 Jenkins 的官方存储库
使用以下命令添加 Jenkins 的官方存储库:
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
使用以下命令安装 Jenkins:
sudo yum install jenkins
- 启动 Jenkins
使用以下命令启动 Jenkins 服务:
sudo systemctl start jenkins
- 设置 Jenkins 开机自启
使用以下命令设置 Jenkins 开机自启:
sudo systemctl enable jenkins
配置 Jenkins
- 访问 Jenkins
在浏览器中输入 http://<server_ip>:8080
,其中 <server_ip>
是你的 CentOS 服务器 IP 地址,按照提示完成 Jenkins 的初始配置。
- 安装插件
在 Jenkins 安装完成后,需要安装一些插件才能够正常使用。可以在 Jenkins 的控制台中安装插件,也可以在 Manage Jenkins
-> Plugin Manager
中安装插件。需要安装的插件至少包括:Git、Pipeline、Pipeline: GitHub、Pipeline: GitHub Libraries。
- 创建 Jenkins 项目
在 Jenkins 控制台中,点击 New Item
,选择 Freestyle project
,配置该项目的基本信息,如项目名称、源码管理方式等。
- 添加构建步骤
点击 Add build step
,选择 Execute shell
,在 shell 命令中输入相应的构建脚本,例如:
cd /path/to/project
mvn clean package
- 添加部署步骤
点击 Add post-build action
,选择 Send build artifacts over SSH
,配置相应的部署信息,如远程服务器的 IP 地址、端口号、用户名、密码、远程目录等等。同时还需要配置一些部署前的准备工作,如关闭旧的应用进程、备份等等。
- 运行构建
点击 Build Now
,开始构建和部署。
- 编写 Jenkinsfile
在源代码库中创建一个名为 Jenkinsfile
的文件,文件内容如下:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'mvn clean package'
}
}
stage('Deploy') {
steps {
sshPublisher(
continueOnError: false,
failOnError: true,
publishers: [
sshPublisherDesc(
publishers: [
sshTransfer(
cleanRemote: true,
excludes: '',
execCommand: 'sh /path/to/deploy.sh'
execTimeout: 120000,
flatten: false,
makeEmptyDirs: false,
noDefaultExcludes: false,
patternSeparator: '[, ]+',
remoteDirectory: '/path/to/deploy/to/',
remoteDirectorySDF: false,
removePrefix: '',
sourceFiles: 'target/*.jar')
],
sshPublisherEndPoint(
configName: 'Remote Server',
verbose: false)
])
}
}
}
}
其中,sshTransfer
为 Jenkins 的 SSH Transfer 插件提供的步骤,用于将构建好的 JAR 文件发送至远程服务器,并执行 deploy.sh
脚本进行部署。
- 配置 Jenkins Pipeline
在 Jenkins 控制台中,点击 New Item
,选择 Pipeline
,在 Pipeline
配置页面中,选择 Pipeline script from SCM
,并输入相应的源码库地址和 Jenkinsfile 路径。
- 运行 Pipeline
点击 Build Now
,开始运行 Pipeline。
该示例中,Jenkins Pipeline 主要负责从源码库中拉取代码,编译打包,将构建好的 JAR 包发送到远程服务器,并部署应用到服务器上。
以上就是在 CentOS 7 系统上安装、配置 Jenkins 的完整攻略,同时还包括了两个示例说明。