jenkins自动化部署(前端)
再遇润佳 2024-08-25 14:03:01 阅读 66
一、Nginx安装和启动
部署会使用<code>nginx,所以需要先安装一下nginx
:
dnf install nginx
启动nginx
:
# 启动nginx
systemctl start nginx
# 查看启动状态
systemctl status nginx
# 配置开机重启
systemctl enable nginx
如果启动报错:Job for nginx.service failed because the control process exited with error code
,可参考https://blog.csdn.net/li1325169021/article/details/118462921
二、Jenkins的配置和安装过程
2.1 安装Java环境
Jenkins
本身是依赖Java
的,所以需要先安装Java
环境,这里安装了Java 11
的环境,新版jenkins
最低支持需java 11
版本以上。
dnf install java-11-openjdk
2.2 连接Jenkins仓库
因为Jenkins
本身是没有在dnf
的软件仓库包中的,所以需要连接Jenkins
仓库:
wget
是Linux
中下载文件的一个工具,-O
表示输出到某个文件夹并且命名为什么文件;
rpm
:全称为The RPM Package Manage,是Linux
下一个软件包管理器;
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 导入GPG密钥以确保您的软件合法
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
2.3 安装Jenkins
yum install jenkins
三、Jenkins的启动、访问和安装插件
3.1 启动Jenkins服务
systemctl start jenkins
systemctl status jenkins
systemctl enable jenkins
Jenkins
默认使用8080
端口提供服务,所以需要加入到安全组中:
3.2 访问Jenkins
此时,在浏览器输入<code>ip:8080测试jenkins
服务是否成功启动,如果还是无法访问,参考:https://www.cnblogs.com/luoshuai7394/p/17341966.html
查看管理员密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
3.3 安装Jenkins推荐的插件
安装默认推荐的<code>Jenkins插件:
四、配置Jenkins
4.1 创建管理员用户
4.2 为服务器安装<code>git
dnf install git
4.3 为Jenkins配置Node环境
配置Node
环境:成功配置后重启下Jenkins
安装<code>Node插件:
五、项目自动化部署
5.1 为Jenkins安装Gitee Plugin创建并配置Jenkins URL
5.2 创建项目目录
实现需要为服务器创建一个项目目录,目录位置随意,这里创建在根目录
<code>mkdir xxx
5.3 配置nginx.conf文件
Nginx
配置文件所在目录
/etc/nginx/nginx.conf
配置用户:
- user nginx;
+ user root
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
配置访问目录:
这里不一定要在80
端口,如果想配置在其它端口下,新增一个server
配置即可,注意要开放端口号。
server {
listen 80;
listen [::]:80;
server_name _;
- root /usr/share/nginx/html;
+ location / {
+ root /root/yc_airbnb;
+ index index.html
+ }
重启Nginx
:
systemctl restart nginx
5.4 实现自动化部署
新建任务:
配置项⽬和保留策略:
源码管理:
如果项目为私有项目,需要添加一个用户,如果为账号密码,则输入<code>gitee或github
对应的账号和密码。
构建触发器:
构建环境:
添加Shell脚本:
<code>pwd
node -v
npm -v
npm install
npm run build
pwd
echo '构建成功'
ls
# 删除/root/xxx文件夹里所有的内容
rm -rf /root/xxx/*
# dist为打包目录的名称,以实际为准
cp -rf ./dist/* /root/xxx/
保存应用
5.5 GitEE设置WebHooks 管理
5.6 给jenkins用户添加访问权限
方案三亲测有效。
5.6.1 方案一:修改默认⽤户
<code>- /etc/sysconfig/jenkins
JENKINS_JAVA_CMD=""code>
## Type: string
## Default: "jenkins"
## ServiceRestart: jenkins
#
# Unix user account that runs the Jenkins daemon
# Be careful when you change this, as you need to update
# permissions of $JENKINS_HOME and /var/log/jenkins,
# and if you have already run Jenkins, potentially other
# directories such as /var/cache/jenkins .
#
- JENKINS_USER="jenkins"code>
+ JENKINS_USER="root"code>
5.6.2 将Jenkins
添加到root
组中
sudo usermod -a -G root jenkins
5.6.3 给Jenkins
目录权限
chown -R jenkins path
# 例:chown -R jenkins /root/yc_airbnb
5.6.4 重启Jenkins
systemctl restart jenkins
5.7 推送代码
推送代码到仓库后,查看Jenkins是否有进行打包,有说明成功了。
六、开启定时构建(非必要)
#每半小时构建一次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
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。