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仓库:

wgetLinux中下载文件的一个工具,-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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。