首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

写个简单的项目自动部署脚本

一、概述 在项目数量比较大和构建流程比较复杂的场景,我们一般会使用jenkins以及衍生产品来实现构建打包部署能力,但对于一些简单的项目和小众场景,我们使用简单的脚本构建部署,也未必不是一个简单便捷和节省成本的选择...# 休眠10s,等待进程终止 sleep 10 #把maven编译打包的最新jar包拷贝到工作目录 cp target/springboot-demo-$1.jar $WORK_DIR #再次检查进程是否终止...;如果已经存在项目目录,则进入目录拉取最新代码 使用mvn命令编译打包,并输出可执行jar到target目录,如果编译失败则退出执行 找出服务进程,并发送kill执行进行终止服务进程,并且休眠10s,给服务进程足够的时间处理剩余的事情...从项目目录的target文件夹拷贝可执行jar到项目工作目录 再次检查服务进程是否已经终止,如果没有终止则强行终止(理论上10s可以正常终止,休眠时间可按需调整) 通过nohup java -jar命令后台运行服务...缺少监控和报告:jenkins 提供了丰富的监控和报告功能,如构建历史、构建日志、构建结果等,而使用 Shell 脚本可能需要自行实现这些功能。

43110

shell 常用命令

,用来登录远程服务器 通常来说,借助 XShell 的可视化配置,就足够连接上服务器了,但有些服务器,只能通过跳板机连接,此时就需要先登录上跳板机,然后再跳板机上使用 ssh 命令来连接服务器 当然,XShell...、上传的命令 sz,rz 通常是本机上装了个 XShell 工具,然后用于两机之间的文件通信 但有时候,是需要在远程多个服务器之间进行文件通信,这时候就用不了 XShell,也就用不了 sz, rz 命令了...项目并部署远程服务器上 场景是这样的,本地开发后端 spring-boot 项目,然后有一台专门的 jenkins 服务器,自动或手动触发构建 jenkins 构建时,会自动去拉取代码,然后执行 package.sh...-jar xxx.jar &" sleep 10s exit 0 " expect eof exit 0 jenkins - 构建 shell jenkins 配置里的构建 shell 命令 #!.../bin/sh source /etc/profile # 先执行打包脚本,指定打包的渠道 sh jenkins/package.sh online # 如果打包失败,终止 if [ $?

1.4K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java程序员必备技能《上》

    grep "search_text" filename ps:显示当前进程的状态。 ps kill:终止一个进程。 kill process_id chmod:修改文件权限。...熟练掌握这些命令将有助于提高我们的工作效率和解决问题的能力。 JVM Java 虚拟机(JVM)是 Java 代码运行的核心组件,负责将 Java 字节码转换为机器码并在计算机上执行。...Profile 和属性: 使用 Maven Profile 定制不同环境下的构建配置,如开发环境、测试环境、生产环境。 熟悉如何在 POM 文件中使用属性来提取配置信息,使构建过程更灵活。...集成其他工具: 与 IDE 整合:掌握如何在常见的集成开发环境如 IntelliJ IDEA、Eclipse 中使用 Maven。...与持续集成工具整合:了解如何与持续集成工具如 Jenkins 集成,实现自动化构建和部署。 掌握以上内容可以帮助 Java 程序员更高效地管理和构建项目。

    19910

    Jenkins2 学习系列25 -- 添加 Docker Cloud 并构建镜像

    本篇告诉你: 如何在 Jenkins 中添加一个远程 Docker 作为构建项目的 Cloud 如何在这个 Cloud 中指定代码仓库并打包 Docker 镜像 将镜像 push 到官方的 Docker...:Jenkins master 节点只负责调控,具体的构建任务下放到Docker代理节点中去,解决master空间不够等问题 安装插件之后Jenkins的系统配置页面会多出一个Cloud部分。...需要填写连接Docker的配置信息 Name: 给Docker主机起个别名 Docker Host URI: 如 tcp://192.168.10.10:2375 ,连接本机Docker,如果连其他主机上的...image.png 集成Docker插件后,在管理Jenkins页面中会多出一个Docker入口 ?...image.png 点击后能看到配置过的分配给Jenkins实例的Docker服务器列表 ?

    4.3K20

    你的 CI 在挖比特币吗?—— 记一次 CI 入侵的调查

    整个过程由Jenkins内部构建的流水线触发。代码提交,测试,构建,部署一气呵成。 我们有一个中心产品代码库,这个中心产品对应着不同国家和地区的在线产品。...它们所采用的应该是同一个漏洞。 这个漏洞存在于Jenkins CLI,这是一个用Java编写的命令行工具,可以通过命令行远程操作Jenkins来执行很多操作。...Jenkins; 5.浏览器在接收到这些攻击性代码后,根据存在恶意代码的网站的请求,在用户不知情的情况下携带Cookie信息,向Jenkins发出请求。...而在处理这次事故的时候,我们采取了如下措施: 1. 及时切断网络而不是终止程序,避免更多的泄露。也许你停止了进程的同时,进程也会销毁一切记录,不利于事后排查。 2. 快速构建虚拟机镜像,保留现场。...FreeBuf.COM | 关注黑客与极客 此外,通过对象传递,利用 Java 接口的特性,攻击者可以自由改写方法的实现。

    76520

    用代码实现流水线部署,像诗一般优雅

    流水线示例图(图片来自网络,如侵权,请联系删除) 1.2 Pipeline 是什么 在自动化部署中,开发完成的代码经过一系列顺序操作后被部署完成,这个就是部署过程中的流水线,我们通常称作 pipeline...(3)Jenkins 通过 JDK 和 Maven 工具对 Java 代码进行打包部署。 (4)Jenkins 将 JAR 包拷贝到远程服务器的固定目录下。...(5)Jenkins 通过 SSH 插件执行远程命令,将包进行备份操作。 (6)Jenkins 通过执行远程命令,更新 JAR 包。 (7)Jenkins 通过执行远程命令,重启容器。...它使用了GitSCM类,并传递了相应的参数,包括分支名、GitLab凭据等。 注意:获取分支的凭证是一个 ID,这个凭证信息是在 Jenkins 系统配置中加的。...(建议收藏) 五、上传 JAR 包 编译完成后,就可以将 Jenkins 工作空间的 JAR 包上传到服务器的 temp 目录下。

    70510

    SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    如何在Docker安装GitLab详解 如何在Docker创建NetWork网络详解 如何在Docker安装Registry私服详解 如何在Docker安装Jenkins详解 见附录 特别说明 ?...远程文件目录,同理也参数构建的占位符${serverPath}获取 ?...file传输文件的路径,可以使用参数构建的占位符${serverPath}获取 Remote directory远程文件目录,同理也参数构建的占位符${serverPath}获取 docker_server1...表示与Jenkins部署同一个宿主机,使用脚本有远程机器shell脚本操作免登陆操作。...8、希望此文章能帮助你更好了解什么(DevOps)是自动化构建镜像与部署,如何在Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud自动构建镜像与部署服务应用

    9.4K40

    SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    如何在Docker安装GitLab详解 如何在Docker创建NetWork网络详解 如何在Docker安装Registry私服详解 如何在Docker安装Jenkins详解 见附录 特别说明 1、...远程文件目录,同理也参数构建的占位符${serverPath}获取 SSH Publishers shell脚本#!...截图的构建参数都是在参数化构建过程配置的参数 5.6 构建&运行&&部署结果 构建过程 部署结果 5、多台机器免密远程登录&Jenkins部署流程详解 6.1 特别说明 以测试环境为例子进行说明...}获取 Remote directory远程文件目录,同理也参数构建的占位符${serverPath}获取 docker_server1表示与Jenkins部署同一个宿主机,使用脚本有远程机器shell...8、希望此文章能帮助你更好了解什么(DevOps)是自动化构建镜像与部署,如何在Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud自动构建镜像与部署服务应用

    7.9K20

    Jenkins敏捷开发 自动化构建工具

    按需构建,开发者在提交完代码后,向 Jenkins 服务器发送一个信号,便可触发构建。 (一)安装 使用传送门快捷安装,启动后使用安装推荐插件,内置国内插件源,安装速度较快。...java.lang.String/> 注意:JENKINS_HOME默认值为启动进程用户对应的用户空间,在启动前修改后即变成新的路径。...附录中列举的环境配置统一在宿主机上完成,不在 Jenkins 服务内部配置,使用默认值即可。 2、添加项目 在宿主机上将待构建项目的源代码克隆到本地,执行 shell 脚本完成手动构建。...软件开发者在提交完代码后,主动触发构建事件,这种方式构建效率较高。 Build Triggers 构建触发器是指 Jenkins 收到某一信号之后,立即开始构建指定的任务。...经过此步骤,能够在工作空间找到构建后的项目发布包。

    94040

    2021年排名前85的DevOps面试问答

    每次提交代码时,Jenkins管理员都会从远程GitHub存储库中提取代码。 它将工作负载分配给所有Jenkins奴隶。 根据Jenkins主服务器的请求,从服务器执行,构建,测试并生成测试报告。...java –jar Jenkins.war java –war Jenkins.jar java –jar Jenkins.jar java –war Jenkins.war 正确答案是 A)java...33.如何在Jenkins中创建备份和复制文件? 为了创建备份文件,请定期备份您的JENKINS_HOME目录。 ? 为了创建Jenkins安装程序的备份,请复制JENKINS_HOME目录。...Nagios的Nagios远程插件执行器(NPRE)是什么意思? Nagios远程插件执行器(NPRE)使您可以在Linux / Unix计算机上执行Nagios插件。...您可以监视远程计算机指标(磁盘使用情况,CPU负载等) 该 check_npre 插件驻留在本地监控机上 在远程Linux / Unix计算机上运行的 NPRE守护程序 77.

    6.8K30

    『Jenkins』Jenkins的Master-Agent架构详解

    学习如何在Jenkins中配置和管理Master与Agent。通过实际示例,展示如何利用Jenkins的Master-Agent架构实现分布式构建。...通过Jenkins代理协议:Jenkins Master通过代理协议与Agent进行通信,指令的传递可以包含构建参数、执行环境等信息。...配置Jenkins Master在Jenkins的主界面,点击管理Jenkins > 系统设置。配置Jenkins Master的相关设置,如Jenkins URL、系统信息、工具路径等。2....配置完毕后,Jenkins Master将通过SSH连接到Agent并执行构建。通过Java Web Start (JNLP):在Jenkins Master的“管理节点”界面下载JNLP启动命令。...在任务配置中,找到节点选择,选择特定的Agent节点标签,确保任务在指定Agent上执行。测试任务执行:保存配置后,点击构建,检查任务是否在指定的Agent上执行。

    11300

    微服务 day20:项目部署与持续集成(DevOps)

    在服务器(宿主机)上安装操作系统,并安装hypervisor虚拟机管理软件,如VMware、VirtualBox等,由 hypervisor管理多个虚拟机,每个虚拟机上需要安装客户操作系统、依赖库、应用软件...点击保存后,点击左边的立即构建,测试是否能够执行 shell 命令到指定的服务器上。 ? 远程命令执行成功,执行了 echo 命令写入内容到文件上,如下图 ?...2、配置webhook GitLab 中使用 webhook 向 jenkins 通知,当有代码 push 后将通知 jenkins 进行构建。...配置完成后再回到之前的操作,添加webhooks的钩子地址即可,添加成功的效果如下 ? 3、测试 尝试提交一个代码更新,观察jenkins是否能够收到通知并且执行构建任务 ?...如何在gitlab上实现按需通知

    2.1K40

    安全研究 | Jenkins漏洞分析

    可以看到运行POC后,ceye后台已经有了目标主机的访问记录。证明该命令已经在远程主机被执行了。 ?...,可导致Jenkins主JVM上的任意代码执行。...这种方式允许具有Job/Configure权限的攻击者,以运行Jenkins进程的OS用户的权限在Jenkins主服务器上执行任意系统命令。...利用成功后将会在tmp文件夹下创建wtf文件 12、Jenkins功能未授权访问导致的远程命令执行 12.1、漏洞描述 Jenkins管理登陆之后,后台”系统管理”功能,有个”脚本命令行的”功能,它的作用是执行用于管理或故障探测或诊断的任意脚本命令...恶意攻击者可以通过发送精心构造的HTTP请求在未经授权的情况下获取Jenkin主进程可以访问的Jenkins文件系统中的任意文件内容。

    6.1K10

    使用 Kubernetes 模糊测试

    更进一步,构建 radare2 项目的主分支的新版本,并将其集成到 CI/CD 管道中,然后将容器构建部署到 Kuberentes 集群,这似乎是一种真正过火的好方法,只是吃掉我的全部周末。...归根结底,所有这些工具都是美化的远程代码执行实用程序,而 Jenkins 提供了做奇怪事情的灵活性。简单地说,我使用 Jenkins 是因为我喜欢 Jenkins。...为了确保我对最新和最棒的构建进行模糊测试,我创建了一个 Jenkins 作业来定期从主分支中提取和构建radare2 bin,然后发布工件。...Jenkins 的默认状态页面显示两个构建都在 19 小时前成功运行,并且在我进行故障排除时几天前都出现了一些问题。...新构建的 docker fuzzingharness 镜像构建完成后的最终 Jenkins 构建执行rollout restart以获取 Kubernetes 部署中的新 Docker 镜像。

    1.6K20
    领券