jenkins自动化部署

news2025/1/15 14:05:22

jenkins自动化部署

jenkins官网安装步骤

1. 安装环境

安装Java运行环境。Jenkins需要Java运行环境才能正常工作。您可以从Oracle官网下载Java运行环境并安装,或者使用您操作系统自带的Java运行环境。

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo dnf upgrade

sudo dnf install git
sudo dnf install nginx
sudo dnf install java-11-openjdk
sudo dnf install jenkins

sudo systemctl daemon-reload

2. 运行Jenkins

打开终端并以root用户身份登录

# 启动Jenkins服务
$ systemctl start jenkins
# 设置Jenkins服务开机自启
$ systemctl enable jenkins
# 验证Jenkins服务是否已经启动
$ systemctl status jenkins

Jenkins默认使用8080端口提供服务,所以需要加入到安全组中

在这里插入图片描述

给Jenkins目录权限

$ chown -R jenkins  /etc/sysconfig/jenkins
$ sudo usermod -a -G root jenkins
$ systemctl restart jenkins

访问Jenkins Web界面。启动Jenkins服务后,您可以在浏览器中访问Jenkins Web界面,默认端口为8080。

获取输入管理员密码:

$ cat /var/lib/jenkins/secrets/initialAdminPassword

3. Jenkins Node插件

注意:我们需要搭建Node的环境

第一步:安装Node的插件

在这里插入图片描述
第二步:配置Node的环境
在这里插入图片描述
在这里插入图片描述

4. 任务

创建一个新的任务

在这里插入图片描述

设置仓库的地址,凭证以及需要克隆的分支

在这里插入图片描述

构建触发器:

定时字符串从左往右分别是:分 时 日 月 周

#每半小时构建一次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

在这里插入图片描述

添加 Node 环境支持

在这里插入图片描述

执行任务之前可以创建目录以及添加权限

$ cd /root
$ mkdir test 
$ sudo chown -R jenkins:jenkins /root/test
$ sudo chmod -R 777 /root/tets

构建执行的任务:

  • 查看Node的版本等是否有问题;
  • 执行 npm install 安装项目的依赖;
  • 移除原来mall_cms文件的所有内容;
  • 将打包的dist文件夹内容移动到mall_cms文件夹;
npm install 
npm run build

pwd

rm -rf /root/test/* 
cp -rf ./dist/* /root/test/

在这里插入图片描述

构建成功的样子

在这里插入图片描述

5. Nginx 部署

# 启动Nginx服务
$ systemctl start Nginx
# 设置Nginx服务开机自启
$ systemctl enable Nginx
# 验证Nginx服务是否已经启动
$ systemctl status Nginx

配置 Nginx

$ vim /etc/nginx/nginx.conf
# 需要改权限
user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        include /etc/nginx/default.d/*.conf;
        # 配置首页
				root /root/test;
        index index.html;
        location / {
                
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}

完成后需要重启nginx服务

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/557728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

品牌在线上的困境

大家好! 我是小鱼 目前,在我们国内 有很多品牌从传统的 门店转为线上经营 那是不是意味着 品牌公司要把自己 的实体门店都关了呢? 并不是那样的。 很多品牌实现了 线上门店和实体门店 相结合的方式来 改造升级的 那么他们是如何做到的呢? 对…

存储框架封装:LruCacheUtils+DiskLruCacheUtils+责任链设计模式+DeepLink

存储框架封装:LruCacheUtilsDiskLruCacheUtils责任链设计模式DeepLink 一.存储框架实现思路?1.缓存策略2.LRU算法3.LruCache内存缓存原理4.DiskLruCache磁盘缓存原理5.使用单例模式实现LRUCacheUtils5.使用单例模式实现DiskLRUCacheUtils 二.什么是责任链设计模式&a…

ASP.NET Core 使用Filter和Redis实现接口防重

背景 日常开发中,经常需要对一些响应不是很快的关键业务接口增加防重功能,即短时间内收到的多个相同的请求,只处理一个,其余不处理,避免产生脏数据。 这和幂等性(idempotency)稍微有点区别&am…

凌恩生物文献分享 | 16S全长扩增子+代谢组/转录组多组学!高分paper的绝佳拍档!

16S全长扩增子联合代谢组/转录组多组学研究,是目前微生态研究趋势。单一研究方法较难发表高水平文章,多组学关联研究逐渐成为“快速”发表高分paper的绝佳拍档! 小编精心挑选了3篇医学微生态研究的高分文章,希望能帮助大家激发科…

二线程序员的出路

最近长沙不太平。去年被动离职一拨人之后,HR一直强调降本增效,人人自危,挤走一拨人,反正会有大量内卷失败的一线程序员进来填坑。当然留就有人走,前同事除了几个出去搞培训创业(后面解散了)的之…

chatgpt赋能Python-python_for_倒序

Python的倒序功能 - 从SEO角度分析 在Web开发中,搜索引擎优化(SEO)是一个关键的指标。如果你的网站能够被搜索引擎高效地索引,它就会排在搜索结果的前面,带来更多的流量和曝光率。Python,作为一种广泛应用…

【LED子系统】七、触发器实现

个人主页:董哥聊技术 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强公司! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! 文章目录…

探索未来:人工智能如何改变室内外设计

目录 注册: 使用RoomGPT进行室内和室外设计的步骤: 结果如下: RoomGPT是一款基于人工智能的设计工具,可以帮助专业人士和个人在几秒钟内生成照片般逼真的图像。以下是使用RoomGPT进行室内和室外设计的步骤: 注册&am…

聚观早报 | ChatGPT炒股回报率超500%;网易发布11新游戏

今日要闻:微信支付正式发布“微信刷掌”产品;ChatGPT炒股回报率超500%;网易发布11新游戏;国家超算中心发布中文大语言模型;B站试水付费专属视频 微信支付正式发布“微信刷掌”产品 5 月 21 日,北京轨道交通…

时序电路详解

1、什么是时序电路? 组合电路是根据当前输入信号的组合来决定输出电平的电路,换言之,就是现在的输出不会被过去的输入所左右,也可以说成是,过去的输入状态对现在的输出状态没有影响的电路。 时序电路和组合电路不同&…

「角」毫米波雷达前装增速放缓?哪些供应商位居TOP10

作为传统BSD(盲区监测、并线辅助)、DOW(开门预警)功能以及高阶智能驾驶的主要传感器之一,角(盲区)毫米波雷达在2022年实现了前装搭载的大幅增长。 高工智能汽车研究院监测数据显示,2…

Qt编写视频监控系统74-悬浮工具栏(半透明/上下左右位置/自定义按钮)

一、前言 在监控系统中一般在视频实时预览的时候,希望提供一个悬浮工具条,可以显示一些提示信息比如分辨率、码率、帧率,提供一堆快捷操作按钮,可以录像、抓拍、云台控制、关闭等操作,参考了国内很多监控厂商客户端软…

Spring Boot 整合 分布式搜索引擎 Elastic Search 实现 搜索、分页与结果过滤

文章目录 ⛄引言一、酒店搜索和分页⛅需求分析⚡源码编写 二、酒店结果过滤⌚需求分析⏰修改搜索业务 ✅效果图⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据…

【社群运营】AI智能对话,打造自动化社群

人工智能大背景下,各行各业都在往智能化发展,无论是办公产品,还是生产器械都选择接入了更加智能的AI来提高生产效率。那么,在日常的社群管理工作中,我们又能否跟上这一波热度,让社群自动化高效运营&#xf…

深度学习实战32-构建ChatT5模型,实现智能问答系统,类ChatGPT(CPU部署)

大家好,我是微学AI,今天给大家介绍一下深度学习实战32-构建ChatT5模型,实现智能问答系统,类ChatGPT(CPU部署),ChatT5使用了T5架构来处理输入文本,具有高度的并行性和扩展性,使其能够快速处理大规模数据集。与传统NLP模型不同,ChatT5采用端到端的方式进行训练,从而可以…

ov2640子设备核心操作详细分析

ov2640子设备核心操作详细分析 文章目录 ov2640子设备核心操作详细分析ov2640_subdev_core_ops核心操作获取寄存器值ov2640_g_register设置寄存器值ov2640_s_registeri2c_smbus_xferi2c_imx_xferi2c_smbus_xfer_emulatedi2c_transfer__i2c_transfer 设置ov2640的电源ov2640_s_p…

解决城市内涝的措施有哪些?需要用到哪些监测设备?

随着城市化的不断推进,城市内涝问题日益凸显。极端天气事件如暴雨、台风等对城市基础设施和居民生活造成了严重影响。那么,解决城市内涝的措施有哪些?需要用到哪些监测设备?针对上述问题,本文会为大家一一进行讲解。 解决城市内涝的措施有哪…

全志V3S嵌入式驱动开发(uboot移植)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 安装了ubuntu操作系统,有了开发板,下面就可以进行我们的开发工作了。第一步,我们要面临的问题就是uboot移植。一…

2098-DSD-020X 具有集成的DeviceNet通信接口

描述:2098-DSD-020X-DN是艾伦-布拉德利Ultra 3000运动控制系列的一部分。该产品是一种数字伺服驱动器,可在120VAC / 240 VAC、单相、50-60 Hz的输入电源电压和18安培的输入电流下运行。该伺服驱动器提供120 / 240 VAC的输出电压、3相、0-400 Hz的可编程频率范围、10…

APACHE-ATLAS-2.1.0简介(二)

APACHE-ATLAS-2.1.0简介(一) 什么是元数据? 元数据(METADATA),用一句话定义就是:描述数据的数据。元数据打通了数据源、数据仓库、数据应用之间的壁垒,记录了数据从产生到消费的全过程。 ATLAS的问题列表 APACHE-ATLAS-STACKO…