jenkins 发布服务到linux服务器

news/2024/7/8 2:47:42 标签: jenkins, 运维

1.环境准备

        1.1 需要一台已经部署了jenkins的服务器,上面已经集成好了,jdk、maven、nodejs、git等基础的服务。

        1.2 需要安装插件 pusblish over ssh

        1.3 准备一台额外的linux服务器,安装好jdk

2.流程描述

        2.1 配置jenkins,包括pushlish over ssh,这里就不过多介绍maven、git、jdk等的配置了,这些全部在全局工具配置里面配置就行了。

        2.2 创建jenkins任务,配置相关脚本。

        2.3 部署服务到另一台服务器。

3.jenkins配置

        3.1 配置publish over ssh

        打开系统配置,找到 publish over ssh配置项

        

        这里的参数重点说下:

        name:ssh的名称。

        hostname:主机ip。

        username:用户名。

        remote directory:这个主要是指你远程主机的目标目录,说白了就是你要把你打好的包,放到哪个目录下,这里你可以配根目录,也可以直接配到最终目录,可以在创建任务时与其进行组装。

        点击高级进行密码配置

        

        至此,pushlish over ssh 配置完成。

        3.2 创建jenkins任务

        3.2.1创建一个自由风格的软件项目

        git配置就不过多描述了,创建凭证,配置git地址,就行了

        在构建环境中的项目里,选择图中勾选的这个,这个通过英文大概意思就行,在执行构建之前,可以通过ssh执行命令,我这里配置了一个执行脚本停掉java项目的命令。

        在name中选择在上一步创建的publish over ssh。

        在exec command 配置命令。

        name下的高级 verbose output in console,可以勾上,用来查看脚本的执行日志。

        3.2.2 配置打包等的执行命令

        在build steps 中配置相关脚本

        3.2.2 配置打包后要执行的相关命令

        点击增加构建步骤

        

        选择send files or execite commands over ssh.

        name: 3.1中创建的 publish over ssh

        source files:源文件,即你打包的文件,点击边上的问好,有英文解释,大概意思就是从jenkins的workspace种开始查找,根据你配置的通配符找到目标文件。

        remove prefix:这个看不天没理解啥意思,但是大概知道怎么用,比如java你就配置到target,前端的这块就不用配置了,注意这块别弄错了,弄错了,会导致后续的传包啥的不执行。

        remote directory:这个就简单了就是远程主机的目录,也就是你要把包放哪里,如果你在创建publish over ssh的时候直接配好了,这里也不需要填,如果你就配置了一级目录,你也可以在这里接着配置。

        exec command:在远程主机要执行的命令,可以在这个地方直接配置启动等命令,也可以在后面的配置中增加。

        3.2.3 传完包之后,在执行启动脚本。

        在构建后操作中,选择send build artifacts over ssh

        选择创建好的publish over ssh。

        在exec command 中配置要执行的脚本。

        至此,远程部署的所有步骤就配置好了。

        


http://www.niftyadmin.cn/n/5536072.html

相关文章

WPF UI InkCanvas 导师演示画板 演示 笔记 画笔 识别

<Grid><InkCanvas Name"inkCanvas"/><Button Content"识别" Click"Button_Click" VerticalAlignment"Bottom"/></Grid> 引用内库 Ink ink new Ink(); private void Button_Click(object sender, RoutedEvent…

【Linux】【部署】主机初始化

初始化服务器 #python3 init_host.py init 【主机名】 【主机ip】 python3 init_host.py init NODE01 192.168.199.10init_host.py 文件内容 #!/usr/bin/env python # -*- coding: utf-8 -*- import json import os import sys import logging import time import logging.co…

【计算机毕业设计】061互助学习微信小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【MySQL】 NDB 集群概述

MySQL NDB&#xff08;Network Database&#xff09;是MySQL的一个存储引擎&#xff0c;也称为NDB Cluster存储引擎。它主要用于构建高可用性、高可扩展性和高性能的分布式数据库集群。NDB Cluster是MySQL的一个特殊版本&#xff0c;专门设计用于处理大规模的分布式数据存储和处…

行业洞察 | 2024应用程序安全领域现状报告

在信息爆炸的时代&#xff0c;我们每天都在使用各种应用&#xff0c;从社交娱乐到工作学习&#xff0c;应用已经成为我们生活中不可或缺的一部分。然而&#xff0c;你是否知道&#xff0c;在这些便捷的背后&#xff0c;隐藏着巨大的安全风险&#xff1f; 近年来&#xff0c;应用…

卡尔曼滤波Q和R怎么调

卡尔曼滤波器是一种有效的估计算法&#xff0c;主要用于在存在噪声的环境中估计动态系统的状态。它通过结合预测模型&#xff08;系统动态&#xff09;和观测数据&#xff08;包括噪声&#xff09;来实现这一点。在卡尔曼滤波中&#xff0c;调整过程噪声协方差矩阵 ( Q ) 和测量…

C++ 学习笔记一

C 学习笔记 使用空参数列表而不是void来指示函数没有参数。现代机器上的内存通常被组织成字节大小的单元&#xff0c;每个内存字节都有一个唯一的地址。为了确定特定机器上数据类型的大小&#xff0c;C 提供了一个名为sizeof的运算符。sizeof运算符是一个一元运算符&#xff0…

【Linux】GNU是什么

GNU是一个自由软件项目&#xff0c;其全称是“GNUs Not Unix!”&#xff0c;由理查德斯托曼&#xff08;Richard Stallman&#xff09;于1983年发起。GNU项目的目标是创建一个完全自由的操作系统&#xff0c;包括一整套完全自由的软件工具&#xff0c;以取代Unix系统。这里的“…