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

如何通过jenkins和SSH在远程机器上运行docker命令?

通过Jenkins和SSH在远程机器上运行Docker命令,可以使用Jenkins提供的SSH插件来实现。下面是一个完善且全面的答案:

  1. 首先,确保你已经在Jenkins服务器上安装了SSH插件。
  2. 在Jenkins的管理界面中,点击"系统配置",找到SSH Servers部分。点击"Add"按钮添加一个SSH服务器配置,填写以下信息:
    • 名称:给SSH服务器配置一个名称
    • Hostname:远程机器的IP地址或域名
    • Username:远程机器的用户名
    • Remote Directory:远程机器的工作目录
  • 保存配置后,点击"Test Configuration"按钮,确保Jenkins能够成功连接到远程机器。
  • 创建一个新的Jenkins任务,并配置相关的构建步骤。
  • 在构建步骤中,点击"Add build step",选择"Send files or execute commands over SSH"。
  • 在"SSH Server"下拉菜单中选择之前配置的SSH服务器。
  • 在"Transfers"部分,点击"Add"按钮,选择"Exec command"。在"Exec command"字段中输入要在远程机器上执行的Docker命令,如docker run -d -p 8080:80 nginx
  • 点击"Advanced"按钮,可以进一步配置SSH连接的参数,如超时时间、执行命令的工作目录等。
  • 配置完成后,保存任务配置。

现在,当你触发Jenkins任务时,它将通过SSH连接到远程机器,并在远程机器上执行指定的Docker命令。你可以根据实际需求,进一步配置Jenkins任务,如添加构建触发器、构建后操作等。

这种方式可以方便地将Jenkins与Docker集成,实现自动化部署和持续集成。同时,它也提供了灵活的配置选项,使你能够根据实际情况进行定制化设置。

腾讯云相关产品推荐:腾讯云容器服务 TKE(Tencent Kubernetes Engine),它提供了强大的容器集群管理能力,可以轻松部署和运行容器化应用。你可以在腾讯云官网上了解更多关于腾讯云容器服务 TKE 的详细介绍和使用文档:https://cloud.tencent.com/product/tke

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

相关·内容

通过 SSH 远程 Linux 系统运行命令的方法

通用语法如下所示: $ ssh [用户名]@[远程主机名或 IP] [命令或脚本] 1) 如何通过 SSH 远程 Linux 系统运行命令 下面的例子允许用户通过 ssh 远程 Linux 机器运行...SSH 远程 Linux 系统运行多条命令 下面的例子允许用户通过 ssh 远程 Linux 机器一次运行多条命令。...SSH 远程 Linux 系统运行带 sudo 权限的命令 下面的例子允许用户通过 ssh 远程 Linux 机器运行带有 sudo 权限 的 fdisk 命令。...SSH 远程 Linux 系统运行带 sudo 权限的服务控制命令 下面的例子允许用户通过 ssh 远程 Linux 机器运行带有 sudo 权限的服务控制命令。...下面的例子允许用户通过 ssh 远程 Linux 机器运行 top 命令,并将输出保存到本地系统。

2K10

喝杯咖啡,一键部署完成!(建议收藏)

一篇我们聊到如何Docker 打包部署:丝滑的打包部署,一套带走 这次我们来聊下如何一键部署分支代码到服务器。 本文主要内容如下: 背景 新项目没有完善的部署流程,只能自己先搭一套来顶一顶了。...比如拉取 Gitlab 仓库代码的插件、远程执行命令拷贝文件的插件。 Jenkins 开始运行一个任务时,通过 Git 插件从 Gitlab 仓库拉取代码到本地目录。...Jenkins 通过 JDK Maven 工具对 Java 代码进行打包部署。 Jenkins 通过 SSH 插件执行远程命令,将包进行备份、清理操作。...nohup 命令用于将脚本在后台运行,即使终端会话结束,脚本仍然继续运行远程服务器创建脚本 如果想要 jenkins 执行远程服务器的脚本,则需要先在远程服务器创建一个可执行的脚本。...问题 3 Exception when publishing, exception message 问题 3 的记录 解决方案 远程机器需要用 sudo 命令执行 docker 命令,这个时候需要输入密码

32310

基于 Github+Jenkins+Maven+Docker 自动化构建部署

通过ssh推送文件,并可以执行shell命令 插件安装完成后最好重启一下jenkins,有几率jenkins会不生效 还需要指定jenkins的jdkmaven,进入系统管理->全局工具配置,jdk...第三步 推送war包到tomcat服务器 一步已经可以构建出war包,并在target中。这一步我们将war包推送到远程的一台tomcat服务器上去(tomcat我部署在运行VM的宿主机器)。...这里我使用的docker打包机器是VM虚拟机,也就是jenkins的宿主机 由于之前安装了Publish Over SSH这个插件,就可以完成上述传输操作。...同时宿主机的dockersnap目录下,宿主机可以正常使用docker命令(宿主机环境变量里有配置snap),而jenkins远程过来使用的环境变量是jenkins这台docker虚拟机的,所有无法访问...该构造可运行在中小公司完全没问题,如果构建频繁等原因性能跟不上,可在此结构上进行扩展,增加jenkins集群docker服务器。

3.4K40

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

一、生产环境 Jenkins 使用 ssh-copy-id 实现 SSH 无密码登录,实现方式如下: ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的 authorized_keys.../ssh , ~/.ssh/authorized_keys 的权利 第一步:本地机器使用 ssh-keygen 产生公钥私钥对 $ ssh-keygen 第二步:用 ssh-copy-id 将公钥复制到远程机器中...4、比较远程本地文件 ssh user@host cat /path/to/remotefile | diff /path/to/localfile – 比较本地文件远程文件是否有差异时这个命令很管用...13、通过SSH运行复杂的远程shell命令 ssh host -l user $(<cmd.txt) 更具移植性的版本: ssh host -l user “`cat cmd.txt`” 14、通过SSH...二、Linux环境Jenkins环境2则脚本,仅供参考 1、Jenkins 构建调用 shell 脚本管理容器(Linux环境)脚本: #!

1.6K20

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

如何Docker安装GitLab详解 如何Docker创建NetWork网络详解 如何Docker安装Registry私服详解 如何Docker安装Jenkins详解 见附录 特别说明 1、...终端(ssh软件端)或Jenkins客户端shell命令,『位置变量』的参数以空格隔开。...# 终端(ssh软件端)或Jenkins客户端shell命令,参数以空格隔开。...部署结果 5、多台机器免密远程登录&Jenkins部署流程详解 6.1 特别说明 以测试环境为例子进行说明 步骤流程几乎一样,唯一是SSH Publishers 源码存放路径不一样,测试环境部署目标机器是与...}获取 docker_server1表示与Jenkins部署同一个宿主机,使用脚本有远程机器shell脚本操作免登陆操作。

7.9K20

jenkins远程部署项目

image.png 本文介绍 使用 jenkins部署机来部署项目到 远程服务器 为什么我要把jenkins装在单独的一台服务器, 一是为了降低部署生产环境的耦合性, 二是为了节约成本, 可以再本地服务器搭建部署机...配置jenkins镜像的ssh密钥 此处假设你已经成功登录进入了jenkins, 可以看到下图界面 jenkins 好, 现在我们进入镜像系统命令行中, 生成ssh密钥 查看当前运行镜像的id $...ssh, 这样可以更好的免密使用git 免密码登录远程服务器 $ cd /root/.ssh $ ssh-keygen -t rsa -C 你邮箱 $ cat id_rsa.pub 最后一个命令后..., 可以看到这串密钥 cat id_rsa.pub 随后我们分别去github需要远程连接的服务器的服务商(比如良心云, 套路云)那配置ssh, 这玩意我就不多说了.我是一条酸菜鱼 3.配置jenkins...加上-tt参数, 为了可以远程机器执行命令, 需要 << remotessh, 这里注意, 最后两句, 用来退出远程机器, 不然的话, 会导致任务无法终治.

1.3K20

Jenkins 配合 Kubernetes 实现服务持续集成的实践建议

,而放到Pod 中可能会出现无法 docker build ,当然这也是可以解决的,因为 docker 本身是 B/S 架构,你可以通过镜像内部挂载 docker 命令,调用宿主机 docker socket...端口;更简单方法,直接远程到一台包含 docker 基础服务的服务器执行,但无论如何,你可能都要折腾一下,改变现有使用方式。...4、docker 镜像构建、镜像提交到仓库; docker 镜像在构建需要区别与以前的形式,如果你已经 Jenkins 安装了 docker 插件,直接在当前机器构建即可,如果没,也没问题,远程 SSH...第二点、历史镜像如何处理?比较建议每次镜像构建完成之后,通过  Jenkins 配置命令删除没有运行的镜像。 具体根据使用场景处理这些中间产物。...每次构建时 SSH 到这台服务器进行备份、修改运行 yaml 文件。

1.7K20

工程化能力必备技能,前端 jenkins 自动化部署持续集成

ssh插件配置 系统管理——系统设置中,找到 publish over SSH。点击新增按钮,添加需要发布的远程机配置。 比如需要发布到开发环境的远程机,添加以下信息。...部署机器操作系统为windows,需要给部署机器安装ssh并开启服务,以支持ssh链接。 windows安装ssh 部分机器可能设置了防火墙,需要在防火墙给22端口添加出站入站规则。允许ssh连接。...远程机器添加批处理文件 当配置的目标机器为windows系统时,文件会被送到配置远程链接的账户所属用户文件夹下。传输完毕后,预留的 superDeploy.bat 文件会被执行。...这里通过命令行来调用 7z 的解压缩功能,需要给部署机安装 7z解压软件。也能更换为其他解压缩软件。...部署机网络或性能问题,偶尔无法连接 保证部署机能够正常运行,不爆满内存与CPU使用。 ssh连接失败 检查openSSH服务是否启用,或者防火墙是否禁用了22端口的出入。

1.4K11

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

比如拉取 Gitlab 仓库代码的插件、远程执行命令拷贝文件的插件。 (2)Jenkins 开始运行一个任务时,通过 Git 插件从 Gitlab 仓库拉取代码到本地目录。...(3)Jenkins 通过 JDK Maven 工具对 Java 代码进行打包部署。 (4)Jenkins 将 JAR 包拷贝到远程服务器的固定目录下。...(5)Jenkins 通过 SSH 插件执行远程命令,将包进行备份操作。 (6)Jenkins 通过执行远程命令,更新 JAR 包。 (7)Jenkins 通过执行远程命令,重启容器。...是部署 Windows 机器,所以执行命令用的 windows 自带的 bat 工具来执行的。...": 这是要在远程服务器执行的命令。在这里,使用了 mkdir 命令创建备份目录,然后将当前服务的 JAR 包移动到备份目录下,并加上时间戳作为文件名,以实现备份。

47610

『高级篇』docker之gitlabjenkins-CICD流程(43)

上节已经安装好了gitlabjenkins,这次就把CICD的流程串起来切身的体验下CICD。目的就是gitlab提交代码。...jenkins完成推送到官网镜像 创建build-imge文件 docker login登录到docker仓库中(之前已经说过了,我的机器内存比较小,无法启动私有的docker仓库我通过的官网的,不管哪个都在...jenkins机器登录下,push的时候就不报错了) cd ~ vi build-image.sh chmod 775 build-image.sh docker login ?...我总结几点 不要容器化jenkins,直接在机器安装就可以了。容器本身都是单个个体,你想想里面还要装jdk,mvn,docker。...如果jenkins容器化,等于容器里面还要装docker是不是很蛋疼。 使用pipline写脚本其实很简单本身就是流水线,比较负责命令建议使用shell脚本的方式,这是也方便维护。

2.7K20

使用Jenkins一键打包部署SpringBoot应用,就是这么6!

本文将以SpringBoot应用的Docker环境下的打包部署为例,详细讲解如何使用Jenkins一键打包部署SpringBoot应用。...我们可以用Jenkins来构建和部署我们的项目,比如说从我们的代码仓库获取代码,然后将我们的代码打包成可执行的文件,之后通过远程ssh工具执行脚本来运行我们的项目。...Jenkins的安装及配置 Docker环境下的安装 下载JenkinsDocker镜像: docker pull jenkins/jenkins:lts Docker容器中运行Jenkins:...系统管理->系统配置中添加全局ssh的配置,这样Jenkins使用ssh就可以执行远程的linux脚本了: ?...选择我们的maven版本,然后设置maven命令指定pom文件位置: ? 之后添加一个执行远程shell脚本的构建,用于我们的镜像打包完成后执行启动Docker容器的.sh脚本: ?

1.5K11

Jenkins+Docker实现CICD

image.png jenkins部署项目 配置之前先配置好jenkins服务器应用服务器的密钥认证 Jenkins服务器生成密钥对,使用ssh-keygen -t rsa命令 ?...image.png 将jenkins服务器的公钥192.168.0.6.pub中的内容复制到应用服务器 的~/.ssh/下的 authorized_keys文件(这里我的jenkins服务器应用服务器都是...) 进入到/etc/ssh/sshd_config配置PermitRootLogin no 应用服务器重启 ssh 服务service sshd restart,现在 Jenkins 服务器可免密码直接登陆应用服务器...#首先要ssh上去注意这里的<< remotessh,需要做公钥密钥 ssh root@192.168.0.6 -tt << remotessh #从这里开始都是远程机器执行命令...#执行完毕,退出远程机器 exit remotessh echo '================结束远程启动================' 6.jenkins.sh(记得chmod 777)脚本停掉并删除无用的

1.2K40

我常用的自动化部署技巧,贼好用,推荐给大家!

Publish Over SSH 这里推荐安装这款Jenkins插件,它的主要作用是可以通过SSH不同服务器之间传输文件执行命令。...比如说我们把Jenkins装在了测试服务器,我们可以使用Jenkins测试服务器从Git仓库获取代码,然后打成Jar包。...打包完成后我们可以通过这个插件将Jar包传输到正式服务器上去,然后执行正式服务器的自动化脚本,从而实现正式服务器的自动化部署。 首先我们可以系统管理->插件管理中找到该插件,然后进行安装; ?...配置完成后创建一个应用的构建任务,源码管理构建中的Maven打包配置之前的Jenkins教程中一样,只有最后一步不同,添加构建步骤为通过SSH发送文件并执行命令; ?...Jenkins的自动化部署也是基于这些的,所以要学会自动化部署,Linux命令Docker命令是必不可少的!

1.4K10

DevOps工程师:30多个面试问题及解答

SSH的作用是什么? Secure Shell(或 SSH)是一种命令行管理协议,使用户能够通过网络连接控制远程服务器。 安全加密的SSH协议取代了以前流行且不安全的Telnet。...控制机器的清单将指定配置节点的位置。 由于 Ansible 的无代理特性,无需托管远程节点的服务器上进行安装。因此,无需管理远程节点时运行任何后台进程。...管道的代码指定如何构建、测试交付应用程序。 •Agent:它是Jenkins 环境的组件,可以运行管道。 •Steps:指示Jenkins 触发时执行的单个任务。...34.解释Docker的架构 Docker 客户端-服务器架构运行命令Docker 客户端服务运行。...通过 SSH(或 Windows 的 WinRM),状态配置被发送到服务器,然后服务器执行。这种方法的缺点是管理数千台机器可能需要很长时间。

44720

快速搭建Jenkins集群

如何做到快速搭建集群 通过Docker可以省去大部分准备工作,您只需Linux电脑安装docker辅以少量命令操作即可完成集群搭建; 环境信息 本次实战的环境一共要用三台电脑,它们的设置都是一样的...后面的所有操作都是root账号; 每台电脑创建文件夹/usr/local/jenkins 创建Jenkins的master 登录master机器,执行以下命令docker run \ -u...Jenkins网页新增节点,操作如下图,先进入节点管理页面: ?...ssh命令时带上远程机器的密码,而不用等待用户输入密码,这样便于shell脚本执行ssh命令: FROM openjdk:8u232 ARG DEBIAN_FRONTEND=noninteractive...至此,Jenkins集群搭建完成,这两个节点带有不同的标签,下一篇文章《Jenkins集群下的pipeline实战》中,我们在这个集群环境创建pipeline任务,并通过标签被分配到不同的节点,实现多节点并行执行

1.3K20

快速掌握Jenkins安装,教你使用Jenkins实现持续交付

与持续集成中的GitLab Runner应该分布不同的服务器 创建工作目录: /usr/local/docker/jenkins 因为要在docker-compose.yml中使用volumes创建数据卷...,执行命令赋予Docker数据卷权限: chown -R 1000 /usr/local/docker/jenkins/data /usr/local/docker/jenkins创建docker-compose.yml...,使用命令查看初始密码 docker logs jenkins 使用自定义插件的方式安装Jenkins: Dashboard View Publish Over SSH Extend Choice Parameter...也可以Jenkins运行界面中的Manage Jekins中的Manage Plugins自定义下载安装 配置Jenkins 配置JDK&Maven 上传JDKMaven的tar包到服务器(容器的数据卷目录...myshop-service-user-provider(远程创建目录,并把文件远程传送到此目录中) Exec command (远程服务器进行命令操作:进入provider目录,拷贝项目jar包到docker

79110

还在手动部署jar包吗?快速掌握Jekins安装,教你使用jekins的实现持续交付

GitLab Runner应该分布不同的服务器 创建工作目录: /usr/local/docker/jenkinschown -R 1000 /usr/local/docker/jenkins/dataversion...Choice Parameter 也可以Jenkins运行界面中的Manage Jekins中的Manage Plugins自定义下载安装 因为要在docker-compose.yml中使用volumes...创建数据卷,执行命令赋予Docker数据卷权限: /usr/local/docker/jenkins创建docker-compose.yml 执行docker-compose.yml文件启动Jenkins...持续交付流程: 拉取代码 打包构建 上传镜像 运行容器 维护清理 配置Jenkins的GitLab SSH免密登录 交互式进入Jenkins容器docker exec -it jenkins /bin...: myshop-service-user-provider(远程创建目录,并把文件远程传送到此目录中) Exec command (远程服务器进行命令操作:进入provider目录,拷贝项目jar包到

81830
领券