【Jenkins】2024 最新 Jenkins 自动化部署全流程
我们后面会访问centos中的某些文件夹,默认Jenkins使用的用户是。编辑一下文件/etc/yum.repos.d/jenkins.repo。然后我们通过 80 端口就可以访问了(记得配置实列端口安全组)80 是 Nginx 的;8080 是 Jenkins。打开浏览器,输入:http://你的ip:8080/把前端打包后的文件上传到上面你创建的文件夹就行。插件完成后,就可以创建第一个管理员用
一、项目部署和DevOps
1.1、传统的开发模式
在传统的开发模式中,开发的整个过程是按部就班就行:
但是这种模式存在很大的弊端:
- 工作的不协调:开发人员在开发阶段,测试和运维人员其实是处于等待的状态。等到测试阶段,开发人员等待测试反馈bug,也会处于等待状态。
- 线上bug的隐患:项目准备交付时,突然出现了bug,所有人员需要加班、等待问题的处理;
1.2、DevOps开发模式
DevOps是Development和Operations两个词的结合,将开发和运维结合起来的模式:
1.3、持续集成和持续交付
伴随着DevOps一起出现的两个词就是持续集成和持续交付(部署):
- CI是Continuous Integration(持续集成);
- CD是两种翻译:Continuous Delivery(持续交付)或Continuous Deployment(持续部署);
持续集成CI:
持续交付和持续部署:
1.4、自动化部署流程
二、购买云服务器
购买云服务器其实是购买一个实例。
1.来到控制台:
2.创建实例,选择类型和配置
3.配置网络安全组
主要是配置可访问的端口
80 是 Nginx 的;8080 是 Jenkins
4.创建实例
三、nginx 安装和配置
3.1、安装nginx
后续我们部署会使用nginx,所以需要先安装一下nginx:
dnf install nginx
启动nginx:
systemctl start nginx
systemctl status nginx
systemctl enable nginx
systemctl restart nginx # 重新启动
3.2、配置 nginx
我们这里主要配置nginx的用户和默认访问目录:
/etc/nginx/nginx.conf
配置用户:
通过Linux命令创建文件夹和文件:
mkdir /root/mall_cms
cd /root/mall_cms
touch index.html
vi index.html
配置访问目录:
3.3、手动打包部署
把前端打包后的文件上传到上面你创建的文件夹就行
然后我们通过 80 端口就可以访问了(记得配置实列端口安全组)
四、Jenkins 安装和配置
4.1、安装 Java 环境
Jenkins本身是依赖Java的,所以我们需要先安装Java环境:
- 这里我安装了最新的 Java 17 的环境
dnf search java-17
dnf install java-17-openjdk.x86_64
4.2、安装 Jenkins
因为Jenkins本身是没有在dnf的软件仓库包中的,所以我们需要连接Jenkins仓库:
- wget是Linux中下载文件的一个工具,-O表示输出到某个文件夹并且命名为什么文件;
- rpm:全称为The RPM Package Manage,是Linux下一个软件包管理器;
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo;
# 导入GPG密钥以确保您的软件合法
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
编辑一下文件/etc/yum.repos.d/jenkins.repo
- 可以通过vim编辑
vim /etc/yum.repos.d/jenkins.repo
i # 插入
# 复制下面的代码
[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1
# 键盘 esc 退出
# shift + :
# wq 保存并退出
安装Jenkins
dnf install jenkins # --nogpgcheck(可以不加)
启动Jenkins的服务:
systemctl start jenkins
systemctl status jenkins
systemctl enable jenkins
Jenkins默认使用8080端口提供服务,所以需要加入到安全组中:
4.3、创建Jenkins用户
我们后面会访问centos中的某些文件夹,默认Jenkins使用的用户是 jenkins
,可能会没有访问权限,所以我们需要修改一下它的用户:
最新版本的 Jenkins 修改 /etc/sysconfig/jenkins 中的 JENKINS_USER=root不会再生效,需要按照以下配置进行操作:
vim /usr/lib/systemd/system/jenkins.service
然后重启就可以了
systemctl daemon-reload # 重新加载 systemd 的配置文件
systemctl restart jenkins # 重启 Jenkins
打开浏览器,输入:http://你的ip:8080/
- 注意:你输入自己的IP地址
获取输入管理员密码:
cat /var/lib/jenkins/secrets/initialAdminPassword # 查看密码
然后下面选择安装推荐插件就可以
插件完成后,就可以创建第一个管理员用户了
4.4、构建 Node 环境和安装 Git
注意:如果没有服务器没有 git 需要再安装 git
dnf install git
注意:在后面我们创建任务,构建环境并执行自动化脚本的时候,我们需要搭建Node的环境
第一步:配置Node的环境
第二步:安装Node的插件
- 这里因为我已经安装过了,所以没有搜索到;
然后在全局工具配置处配置 node
4.5、创建 Jenkins 任务
新建任务:
配置项目和保留策略:
4.6、源码管理
4.7、构建触发器
这里的触发器规则是这样的:
- 定时字符串从左往右分别是:分 时 日 月 周
#每半小时构建一次OR每半小时检查一次远程代码分支,有更新则构建
H/30 * * * *
#每两小时构建一次OR每两小时检查一次远程代码分支,有更新则构建
H H/2 * * *
#每天凌晨两点定时构建
H 2 * * *
#每月15号执行构建
H H 15 * *
#工作日,上午9点整执行
H 9 * * 1-5
#每周1,3,5,从8:30开始,截止19:30,每4小时30分构建一次
H/30 8-20/4 * * 1,3,5
4.8、构建执行的任务
- 查看Node的版本等是否有问题;
- 执行
npm install
安装项目的依赖; - 移除原来 project_name 文件的所有内容;
- 将打包的 dist 文件夹内容移动到 project_name 文件夹;
这里一定要先在上面把 Jenkins 添加到 root 用户组,不然会报错 permission-denied
pwd
node -v
npm -v
# 更换 npm 源
npm config set registry https://registry.npmmirror.com
npm config get registry
npm install
npm run build
pwd
echo '构建成功'
ls
# 删除/root/project_name 文件夹里所有的内容
rm -rf /root/project_name /*
cp -rf ./build/* /root/project_name/
到此圆满结束!!你可以选择主动点击构建,也可以等自动化构建了~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)