背景:
在程序开发过程中,尤其是设计多人多组合作产出时,必然会遇到代码联调时的项目部署问题。在没有自动化集成系统的情况下,一般来讲至少需要经历以下几个步骤
- 前后端代码提交
- 合并拉取代码并根据测试环境进行项目打包
- 上传测试服务器
- 启动项目测试运行情况
- 收集项目运行日志或根据需求重新部署项目等
所以我们需要一套自动化流程替我们去完成这些繁琐的任务
Jenkins 介绍
- Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。具备持续集成和持续交付、简易安装、配置简单、可扩展插件、分布式等多个特点。可以配合常用的代码仓库例如GitLab,构建工具例如Maven、Ant、Gradle等构建CI/CD流水线。
Jenkins 部署
- 使用包管理器安装Jenkins
# RHEL7 使用YUM包管理器 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key sudo yum update && sudo yum -y install fontconfig java-17-openjdk jenkins # RHEL8、9 使用DNF包管理器 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io-2023.key sudo dnf update && sudo dnf -y install fontconfig java-17-openjdk jenkins
- 启动Jenkins并设置开机自启
sudo systemctl start jenkins sudo systemctl enable jenkins
- 防火墙放行8080/TCP端口
# Firewalld防火墙如下操作 sudo firewall-cmd --zone=public --add-port=8080 --permanent sudo firewall-cmd --reload # UFW防火墙如下操作 sudo ufw allow 8080/tcp
- 初始化设置Jenkins
- 输入初始化密码
# 查看初始化随机密码 cat /var/lib/jenkins/secrets/initialAdminPassword
- 根据需求选择推荐插件安装或者自定义插件安装
- 创建用户以及密码
- 配置URL
- 输入初始化密码
- 进入到仪表板
Comments NOTHING