CI/CD部署打包方法

如何在服务端部署SpringBoot项目 Spring Boot使用了内嵌容器,因此它的部署方式也变得非常简单灵活,一方面可以将Spring Boot项目打包成独立的jar或者war包来运行,也可以单独打包成war包部署到Tomcat容器中运行,如果涉及到大规模的部署Jinkins成为最佳选择之一。现在Maven、Gradle已经成了我们日常开发必不可少的构建工具,使用这些工具很容易地将项目打包成jar或者war包。-Dmaven.test.skip=true:排除测试代码后进行打包。http://{ip}:{端口号}C. 确认Maven环境。 阅读详情
  • 项目目前部署方式:
    • 各地区服务器打包同一个runner(需要互相排队,不并发)
    • 各地区客户端可以并发打包,同个地区客户端打多个包需要排队

部署方法

  1. 下载gitlab-runner: https://docs.gitlab.com/runner/install/windows.html
  2. 安装在一个固态盘上,打包工程会在安装目录下自动生成
  3. 命令cd到安装目录,注册runner https://docs.gitlab.com/runner/register/index.html#windows,参考以下输入命令行
    在这里插入图片描述4. 调整runner配置 config.toml:执行命令方式、调整并发数
    在这里插入图片描述

配置执行打客户端或服务器包 .gitlab-ci.yml

在这里插入图片描述

设置定时任务(刷新缓存、检查资源等)

在这里插入图片描述

  • 配置任务如下图
    在这里插入图片描述
从0到1部署gitlab自动打包部署项目 本文重点在于配置ci/cd打包 使用的是docker desktop。 阅读详情

相关推荐

持续集成 Gitlab-CI 【Maven】【部署至服务器】

持续集成 Gitlab-CI 概念定义 原则 业界普遍认同的持续集成的原则包括: 需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有 git、svn 等; 开发人员必须及时向版本控制库中提交代码,也必须经常性地从版本控制库中更新代码到本地; 需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每...

Linoy 1万+

GitLab CI/CD 打包变更微服务模块

在使用gitlab ci/cd部署我们服务时,是怎么知道对应模块文件的变更的呢?下面将从git命令、shell 命令、mvn 命令等三个主要的命令讲解其具体实现。 git命令获取变更记录 通过下面命令就能获取到变更文件: git diff --name-status git提交本次版本号 git提交上次版本号 gitlab版本号获取可以通过下面两个变量获取: $CI_COMMIT_SHA $CI_COMMIT_BEFORE_SHA 通过上面两个信息就能提取到变更文件的目录信息:.

大张 1679

gitlab-cicd自动化:编译-打包-上传-部署

gitlab-cicd自动化:编译-打包-上传-部署 1.安装gitlab-runner(待完善) 2.注册runner 3.使用docker方式编译部署(独立环境) 配置免sudo输入密码 配置免密登录 ps -ef|grep gitlab-runner 4.编写Dockerfile 5.编写Makefile cat >> Makefile << EOF GO=go GOFLAG=-a -installsuffix cgo PROJ=device-manager # 当前

yyl的博客 5170

编写简单的.gitlab-ci.yml打包部署项目

ssh-agent是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。3.cd /root/.ssh/ && cat id_rsa.pub >> authorized_keys, 把 ssh 公钥添加到认证授权文件,这样可以不需要输入密码。# scp -o StrictHostKeyChecking=no,ssh -o StrictHostKeyChecking=no中的。

janthinasnail的博客 1931

Go 应用的部署与运维全攻略:让你的 Go 程序快速上线(十五)

在现代的应用开发中,部署和运维是开发工作的重要组成部分。如果你正在使用 Go 来开发应用程序,那么你就会发现,Go 在部署和运维方面有着非常简洁和高效的特性。无论是编译、打包、使用 Docker,还是 CI/CD 的自动化构建与部署,Go 都提供了非常强大的支持。本篇博客将带你深入了解如何部署和运维 Go 应用,从编译到 Docker 化,再到自动化构建与部署,所有的知识你都能学到!

weixin_43215013的博客 1355

【家政平台开发(50)】家政平台部署实战:打包与部署全流程揭秘

本文聚焦家政平台开发中的 CI/CD 环节,详细阐述其优势与挑战。CI/CD 具备快速反馈、提高代码质量、加速开发周期以及提升团队协作效率等优势,助力家政平台快速迭代。然而,其初始设置复杂、维护成本高、存在技术依赖风险与安全隐患。为应对挑战,可借助专业团队支持、多元化技术选型、强化安全管理以及持续培训学习等方式,保障 CI/CD 在家政平台开发中稳定运行,推动项目高效进展。

邓邓子的博客 266

Git中推送代码(push)之后自动触发自动化打包部署

例如,在GitLab中,你可以设置一个Webhook,当有新的代码被推送到仓库时,GitLab会向指定的URL发送一个POST请求。在GitLab中设置Webhook到你的服务器地址(例如 http://yourserver.com/deploy)。如果你有自己的服务器,你可以编写一个简单的HTTP服务器脚本来监听来自Git Webhook的请求,并执行部署脚本。添加一个新的Webhook,输入你的部署脚本的URL(例如,一个Jenkins服务器或自建的Web服务器)。示例:使用GitLab CI/CD。

weixin_42713787的博客 907

高效软件更新:增量打包技术与工具

增量打包工具是现代软件开发中不可或缺的一部分,它通过对软件版本的差异性分析,只打包更改过的文件或代码块,而不是每次都打包整个项目。这种方式显著减少了构建时间,降低了带宽消耗,并提高了部署效率。版本控制系统是软件开发中的基石,它负责跟踪和管理源代码的变更历史。这样的系统允许开发团队成员同时工作于项目的不同部分,并将这些变更集成到一个共享的代码库中。版本控制系统的基本功能包括变更记录、版本回退、分支管理以及合并冲突解决等。版本控制的重要性在于它确保了代码变更的可追溯性和可复原性。

weixin_42571280的博客 1004

[ gitlab | CI/CD ] 部署页面打包文件到另一台服务器 (解决 Host key verification failed.)

研究CI/CD部署页面打包文件时,复制报错:Host key verification failed. 解决方法: 1. 注册 gitlab-runner 连接自己的gitlab的服务器,按照界面的参数进行填写 [root@localhost home]# gitlab-runner register Running in system-mode. Please enter th...

ljw1412的博客 2740

低功耗模式下的看门狗使用

最近用国产芯片AT32在做一个低功耗的项目,为了实现低功耗模式下的定时唤醒,我选择的是使用相对比较简单的看门狗来做,下面就分享一下使用过程~ 为了最大限度的降低功耗,我用的是待机模式,先看看几种低功耗模式以及唤醒的区别: 而看门狗AT32提供了两种,分别是独立看门狗(IWDG)和窗口看门狗(WWDG),其区别大概有以下几点: 1、独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效;窗口看门狗由从 APB1 时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常

dc18883988396的博客 3028

python3.12 在用django5.0创建超级用户时,遇到AttributeError: module ‘hashlib‘ has no attribute ‘pbkdf2_hmac‘的问题

产生问题的原因是python3.12的hashlib没有自带pbkdf2_hmac函数,该函数是加密算法的一种,只要通过别的函数导入pbkdf2_hmac即可。还有一种方法是将django默认使用的pbkdf2_hmac改为hashlib自带的sha2或其他算法返回加密的密码,笔者以后会尝试用此类办法解决问题。2.找到报错文件的位置/usr/local/lib/python3.12/site-packages/django/utils/crypto.py。保存修改的文件,重新执行创建超级用户的命令成功。

weixin_67057943的博客 851

(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)

在本文档中,我们将概述持续集成,持续交付和持续部署的概念,以及GitLab CI / CD的介绍。软件开发的连续方法基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性。从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预。它涉及在每次小迭代中不断构建,测试和部署代码更改,从而减少基于有缺陷或失败的先前版本开发新代码的机会。这种方法有三种主要方法,每种方法都根据最适合您的策略进行应用。Devops持续集成。

weixin_50382197的博客 6788

ABB机器人绝对精度实战:从焊接路径优化到TCP控制(附配置步骤)

本文深入探讨了ABB机器人绝对精度在焊接路径优化中的核心价值。通过对比重复定位精度,阐明绝对精度如何补偿机械误差,确保TCP在整个运动路径上的轨迹精度。文章提供了从示教器激活绝对精度功能的详细配置步骤,并分享了针对焊接抖动和实现0.2mm路径精度的进阶调优技巧,包括TCP标定、伺服参数优化与系统维护。

weixin_29053073的博客 350

手动打jar包,利用GilLab CI/CD流水线(.gitLab-ci.yml文件)自动打jar并放到服务器运行。

手动jar包 1 首先在pom.xml钟添加依赖: <build> // 指定jar包名。 <finalName>mengpeng</finalName> <plugins> <plugin> <groupId>org.spri...

qq_36308742的博客 5207

5分钟搞定Google Custom Search API申请:从注册到获取CX Key全流程

本文详细介绍了如何快速申请和配置Google Custom Search API,从Google Cloud项目创建、启用计费、获取API Key,到在Programmable Search Engine控制台创建自定义搜索引擎并获取关键的CX Key,提供了全流程实战指南。文章还包含安全配置建议、API调用测试方法及前端与后端的集成代码示例,帮助开发者高效实现网站或应用的智能搜索功能。

weixin_29227585的博客 1659

C++实现复制粘贴文本功能

要实现这个功能,我们需要使用操作系统提供的函数来操作剪贴板。在Windows操作系统中,我们可以使用Windows API函数来访问剪贴板。总结起来,使用C++实现复制和粘贴文本功能涉及使用操作系统提供的API函数来操作剪贴板。在本篇文章中,我将向您展示如何使用C++编程语言实现复制和粘贴文本的功能。我们将使用操作系统提供的API来进行剪贴板操作,并编写相应的代码来完成这个任务。如果您使用的是Linux操作系统,您需要使用适当的库和函数来访问剪贴板。函数中,我们首先将一个字符串复制到剪贴板中,然后使用。

PixelDyno的博客 1233

UnrealCLR跨平台部署:Windows、Linux、macOS全平台打包指南

UnrealCLR作为Unreal Engine的.NET 6集成插件,让开发者能够使用C# 10.0、F# 6.0等.NET语言构建游戏逻辑。本文将详细介绍如何在Windows、Linux和macOS三大主流操作系统上完成UnrealCLR项目的打包与部署,帮助开发者实现跨平台应用的快速发布。 [![UnrealCLR Logo](https://raw.gitcode.com/gh_mirr

gitblog_00786的博客 836

5分钟用AI搞定顶刊级引言!掌握三段式结构+避坑要点,让你的Introduction更有说服力(附提示词)

说明你是怎么来填补这个缺口的,一句话概括你的研究,再简述你采用了什么新方法、新模型或新视角,也就是创新点,最后说明你的方案是怎么克服第二段提到的缺口的,带来了哪些贡献,注意要确保方案与第二段提到的缺口一一对应。以上三段式引言模板,是非常经典的问题导向型结构,相比传统的结构,这种结构更能吸引是审稿人的注意,希望这篇分享的模板能给在你写论文引言时,提供一点帮助。上一段写好后,就在前人研究的基础上,亮出自己的方案,借助AI说明自己的研究,用了什么新方法/框架/理论/视角来填补这个缺口的。

智能AI让学术科研更容易 744

Ansible Community General Collection 部署策略:CI/CD流水线集成最佳实践

Ansible Community General Collection 是一款功能强大的自动化工具集合,它提供了丰富的模块和插件,帮助用户轻松实现IT基础设施的自动化管理。本文将详细介绍如何将 Ansible Community General Collection 集成到 CI/CD 流水线中,以实现自动化测试、构建和部署,提高开发效率和代码质量。 ## 准备工作:环境搭建与依赖安装 在开

gitblog_00086的博客 384

AI处理器组合

编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信,如下图所示。- 如果申请处理器个数为1,则选择同一链路,剩余可用的处理器数量为1个的最佳,其次是剩余3个的为次佳,然后是剩余2个,最后是剩余4个。输出为组合列表,当array=[0, 1, 4, 5, 6, 7] ,num=1时,输出为[[0], [1]]- 如果申请处理器个数为2,则选择同一链路剩余可用的处理器数量2个的为最佳,其次是剩余4个,最后是剩余3个。任务申请1个处理器。

面试高手的博客 1万+

GEE生物量预测:利用多源遥感数据和随机森林算法RF构建地上生物量(AGB)预测模型,并实现未来年份的生态变化模拟(大面积生物量反演)

数据融合策略:整合5类遥感产品(AGB、NDVI、LAI、土地覆盖、地形)时序特征构建:采用生长季中值法降低云污染影响机器学习优化分层采样保证数据代表性80棵决策树平衡精度与效率预测可靠性基准期R²达0.76需结合地面实测数据校正。

此星光明博客 419

Vue项目打包为WAR文件部署Tomcat完整指南

本文介绍了将Vue项目打包为WAR文件并部署到Tomcat的完整流程。主要内容包括:1) 通过npm命令打包Vue项目生成dist文件夹;2) 创建WEB-INF目录并配置web.xml处理404路由问题;3) 使用jar命令将静态文件打包为WAR格式;4) 提供自动化打包脚本优化流程;5) 注意事项如publicPath配置、路由base设置等。该方法解决了企业环境中Vue项目部署到Java应用服务器的需求,实现了前后端统一部署管理,同时确保了Vue路由在History模式下的正常工作。

蒙眼过河 525

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

3步让ESP32-S2飞起来:ESP-Drone开源四轴飞控从零到稳定悬停避坑手册

每次起飞都往同一个方向偏、油门一松就晃到撞墙?多半不是电机或电调的锅,而是飞控的姿态估计和 PID 参数没调对。ESP-Drone 是乐鑫(Espressif)基于 ESP32 / ESP32-S2 / ESP32-S3 的开源四轴无人机飞控固件,支持自稳定、定高、定点三种飞行模式,用手机 APP 或游戏手柄通过 Wi-Fi 就能直接控飞。它的飞控内核来自 Crazyflie 开源工程(GPL3.

gitblog_00775的博客 1048

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

构建和部署 Spring Boot 应用

Spring Boot 作为当前 Java 开发中最流行的框架之一,通过约定优于配置的理念,大大降低了开发门槛和环境配置的复杂度。本文将详细介绍如何构建和部署一个 Spring Boot 应用,帮助大家快速上手并掌握最佳实践。

weixin_43563498的博客 1214

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

你需要同款“Unreal项目自动化编译、打包和部署”方案吗?

分享一篇来自广州钛壳树的UWA Pipeline使用心得

UWA—简单优化,优化简单! 908
上一篇: 打Tag傻瓜工具
下一篇: 2D 游戏艺术、动画和光照
ChiLi_Lin
博客等级 码龄12年 760粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值