Jenkins实现自动化构建与部署详解
本文详细介绍了如何使用Jenkins实现自动化构建和部署。Jenkins是一种流行的持续集成工具,可以在代码提交到代码仓库后自动获取最新代码并进行自动化部署,省去了手动打包和上传服务器的繁琐步骤。本文涵盖了从Jenkins的安装到配置SSH Keys以便从GitHub拉取代码,再到创建Pipeline和自动化任务的各个步骤,旨在帮助用户更高效地实现自动化部署。
前言
在现代软件开发中,自动化构建与部署已经成为提高开发效率和产品质量的重要手段。Jenkins作为一个开源的自动化服务器,通过其强大的插件系统和灵活的构建流程配置,广泛应用于CI/CD(持续集成/持续交付)中。本文将介绍如何使用Jenkins实现自动化构建与部署。
前置介绍
在本文中,我们将使用以下软件和硬件环境:
- 操作系统:CentOS
- OpenJDK版本:11
- Jenkins版本:2.375.2
- 项目架构:Egg + Vue2 + Typescript
对于不熟悉Linux命令行的读者,编辑文件时可以按“i”键进行编辑,完成修改后按ESC退出编辑,输入“:wq”保存并退出,输入“:q”不保存直接退出。
安装
JDK 安装
卸载
首先,检查系统中是否已经安装了OpenJDK。
rpm -qa | grep java
rpm -qa | grep jdk
如果有安装过旧版本,需要先卸载。
rpm -qa | grep jdk | xargs rpm -e --nodeps
rpm -qa | grep java | xargs rpm -e --nodeps
安装
有两种安装方式:
通过 yum 安装
yum install -y java-11-openjdk java-11-openjdk-devel
安装完成后,运行以下命令查看安装目录。
ls -l $(which java)
自行下载后解压安装
下载OpenJDK压缩包后,创建目录并解压。
mkdir /usr/java
cd /usr/java/
tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz
安装路径为/usr/java/jdk-11
。
环境变量配置
编辑配置文件,设置JAVA_HOME。
vim /etc/profile
保存后运行以下命令生效。
source /etc/profile
Jenkins 安装
卸载
如之前安装过Jenkins,需先卸载。
systemctl stop jenkins.service
rpm -e jenkins
安装
从清华大学镜像站下载Jenkins rpm包,上传到服务器并安装。
mkdir /usr/local/jenkins
rpm -ivh jenkins-2.375.2-1.1.noarch.rpm
查看Jenkins安装路径。
rpm -ql jenkins
Jenkins 启动前配置
修改端口、账号名(非必要)
可在配置文件中修改端口和账号名。
vim /etc/sysconfig/jenkins
执行命令生效。
systemctl daemon-reload
Jenkins 初始化配置
访问Jenkins地址,根据提示输入初始管理员密码。选择安装推荐的插件。
SSH Keys 配置
生成凭证
生成SSH密钥,邮箱地址替换为你自己的。
ssh-keygen -t rsa -C "123456@qq.com"
公钥配置到 Github
将生成的公钥内容配置到GitHub。
私钥配置到 Jenkins
在Jenkins中配置私钥。
创建任务
Pipeline
使用Pipeline可以直观地查看构建情况。
WebHook
通过WebHook实现GitHub到Jenkins的自动化。
Pipeline 脚本文件
Jenkinsfile 语法(Declarative)
Jenkinsfile支持Declarative和Scripted两种语法,这里使用Declarative。
编写
将构建任务分为四个阶段:拉取代码、项目构建、Docker构建和Docker运行。
pipeline{
agent any
tools {
nodejs 'NodeJS_14.17.6'
}
stages{
stage("pull"){
steps {
sh 'sudo rm -rf public'
sh 'sudo rm -rf logs'
git branch: 'master', credentialsId: 'xxx', url: 'git@github.com:LuciferHuang/xxx.git'
}
}
stage("project build"){
steps {
sh 'npm install'
sh 'npm run build'
sh 'sudo rm -rf node_modules'
}
}
stage("docker build"){
steps {
sh 'docker build -t xxx:v${BUILD_NUMBER} . '
}
}
stage("docker run"){
steps {
sh 'docker stop $(docker ps -a -q)'
sh 'docker run -p 80:80 --name xxx_v${BUILD_NUMBER} -d xxx:v${BUILD_NUMBER}'
}
}
}
}
结语
通过本文的讲解,相信你已经掌握了如何通过Jenkins实现自动化构建与部署。修改代码并提交到仓库,Jenkins将自动进行构建和部署,大大提高了开发效率。
FAQ
问:如何在CentOS上安装OpenJDK 11?
- 答:可以通过两种方式安装OpenJDK 11。首先,可以使用yum安装,命令是
yum install -y java-11-openjdk java-11-openjdk-devel
。其次,可以下载OpenJDK压缩包后手动解压,将其放在/usr/java
目录下。
问:如何在Jenkins中配置SSH Keys用于自动化部署?
- 答:首先,使用
ssh-keygen -t rsa -C "your_email@example.com"
命令生成SSH密钥,然后将生成的公钥添加到GitHub账户中。在Jenkins中,通过“凭据”页面将私钥配置到Jenkins,以便Jenkins可以访问GitHub仓库。
问:Jenkins自动化部署的Pipeline如何编写?
- 答:Jenkins的Pipeline可使用Declarative语法编写,主要包括四个阶段:1)拉取代码,2)项目构建,3)Docker构建,4)Docker运行。每个阶段使用
sh
命令执行相应的脚本。
问:如何通过WebHook实现GitHub到Jenkins的自动化构建?
- 答:可以在GitHub仓库的“Settings”中找到“Webhooks”选项,添加Jenkins的URL作为WebHook目标地址,使GitHub在代码推送后触发Jenkins的构建任务。
问:Jenkins自动化部署的安装步骤是什么?
- 答:首先,卸载已存在的旧版本,使用
rpm -e jenkins
命令。然后,从清华大学镜像站下载Jenkins RPM包并上传到服务器,使用rpm -ivh jenkins-2.375.2-1.1.noarch.rpm
安装。安装完成后,可以在/etc/sysconfig/jenkins
中修改端口和账号信息并使用systemctl daemon-reload
使其生效。
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- Web API与REST API的区别?
- 保护JavaScript客户端到API服务的通信
- PHP cURL带身份验证API调用指南(REST GET/POST 全流程)
- 如何获取天眼查开放平台 API Key 密钥(分步指南)
- 企业信息查询API在Java、Python、PHP中的使用教程
- 定制创意,尽在指尖:StickerBaker API让你的贴纸设计更简单
- 使用FastAPI和langchain做本地大模型的API
- Python调用AI写作 API: 自动生成博客文章的智能方案
- ISOS 使用 Hasura 实现现代化 API 架构|提升开发效率与用户体验
- 全面解析RESTful API设计规范:最佳实践与细节指南
- 什么是 API:产品、服务、集成还是其他?
- 手把手教你用Python调用Next.js API接口实现数据交互