什么是Jenkins,它能做什么
Jenkins是一款开源 CI(持续集成)、CD(持续交付|持续部署) 软件,它可以帮助开发者控制部署过程和自动化构建,保证 一致性(系统、环境、版本)、独立性(组件包、共享库)、时效性(手动设置,费时费力)、正确性(人不同于机器,机器的最大的优点就是完全按照指令执行),易维护且控制版本,把这些繁琐的过程都交给Jenkins处理,让开发者从这有更多精力去关注更高级的任务。
安装
环境 ubuntu
确保已有java环境 没有话 要先安装java 环境
sudo apt install openjdk-11-jdk
下载安装 Jenkins时 要 先添加密钥
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
添加 Jenkins apt 存储库条目
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
更新本地包索引,然后开始安装 Jenkins
sudo apt-get update
sudo apt-get install jenkins
TODO 如果一次性安装成功,说明你的运气好到极了,失败也不用着急,可能官方的密钥、源有所更新, 查看这里,如下图所示
运行配置
执行运行命令
systemctl start jenkins
浏览器 访问 ip:8080
管理员密码,在服务器目录 输入以下命令查看 输入密码后点继续
cat /var/lib/jenkins/secrets/initialAdminPassword
选择安装推荐的插件就可以
报错处理
一般情况下会报错,如果没报,忽略这个步骤
修改config.xml
#修改时做好备份
cp /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.bak
vim /var/lib/jenkins/config.xml
修改第10行 <useSecurity>true</useSecurity> 修改为:<useSecurity>false</useSecurity>
删除这两个标签及标签内的所有内容 <authorizationStrategy …/>和<securityRealm …>到</securityRealm>
修改完后重新执行命令,这是密码已换,记得重现查看下密码
systemctl start jenkins
继续选择 安装推荐的插件 等待安装我弄成就行
等待插件安装完成后 按照提示设置账号密码
正常页面就长这个样子了
配置nginx服务
依次执行以下命令
sudo apt update
sudo apt install nginx
sudo systemctl status nginx
安装成后,访问域名或ip 出现以下页面说明运行成功
配置 修改默认目录文件
/etc/nginx/sites-available
vim default
将文件中 root /var/www/html; 改为 root /var/www/test;
重启nginx 服务
nginx -s reload
另外需要确保 www目录的操作权限
cd /var/
chmod -R 777 www
创建自己的第一个前端自动化部署项目
下载node插件
因为打包会需要node 环境 所以要先下载对应插件
如下图 点击 Manage Jenkins -> Available plugins 搜索对应插件
找到Node.js 点击下载
Download progress 拖到最下面查看进程,点击重启
点击全局工具配置
找到新增 NodeJs 设置好版本,这里可以设置多个版本
新建任务
首页找到新建任务,设置任务名称
设置git仓库地址,指定分支
TODO (如果 仓库是私有的,还要设置密钥或账号密码,这个我后期文章中会详细介绍)
设置 构建环境,选择node 版本
配置 shell 命令脚本 保存
cd /var/lib/jenkins/workspace/test
npm install --registry=https://registry.npm.taobao.org
npm run build:prod
cp -r dist /var/www/test
然后执行 立即构建,下方会出现构建任务,出现绿色对勾标识,表示构建完成
点击任务详情-> 控制台输出,可以看到输出日志记录
浏览器访问 ip地址 正常访问出现以下页面,到此已完成前端项目的简单自动化配置部署
构建时遇到的问题总结
安装 Jenkins 失败问题
应该是官方更新了最新的源,建议去官网查看最新的安装文档 点击这里
node版本问题
Error: error:0308010C:digital envelope routines::unsupported
设置对应稳定node版本就行了
目录权限问题
cp: cannot create directory '/var/www/test': Permission denied
改变www目录操作权限
chmod -R 777 www
都看到这了,还不给个 一键三连(点赞、关注、加收藏)
也欢迎评论区留言哦