当前位置: 首页 > news >正文

jenkins 远程执行 定时 执行shell

jenkins 远程执行 定时 执行shell (使用 Docker 安装 Jenkins)

本文将介绍如何在 Docker 中安装 Jenkins,配置远程执行,并定时运行 Sqoop 作业。通过使用 Jenkins,我们可以轻松地自动化数据库操作,并定期执行数据同步任务。

Jenkins 是一个流行的开源自动化工具,广泛用于持续集成(CI)和持续交付(CD)工作流。通过 Jenkins,用户可以自动化各类任务,比如代码构建、测试、部署等。本文将介绍如何配置 Jenkins 以远程执行定时任务,并执行 Shell 脚本,从而实现自动化管理。

Jenkins 远程执行简介

Jenkins 支持远程执行任务,意味着我们可以在不同的机器上执行 Jenkins 作业。这是通过配置远程节点(Agent)来实现的。在实际应用中,远程执行可以帮助在不同的环境中进行任务执行,如在构建服务器、测试环境或生产环境中执行任务。

1. 使用 Docker 安装 Jenkins

可能需要魔法上网

docker pull jenkins/jenkins:lts-jdk17

在这里插入图片描述

1.1 运行 Jenkins

docker run -p 8080:8080 -p 50000:50000 --restart=on-failure -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk17
  1. docker run
    这是启动 Docker 容器的基本命令。
  2. -p 8080:8080
    -p 是用于将容器的端口映射到宿主机的端口。
    8080:8080 表示将容器内的 8080 端口映射到宿主机的 8080 端口。这个端口通常用于访问 Jenkins 的 Web UI。
  3. -p 50000:50000
    50000:50000 将容器内的 50000 端口映射到宿主机的 50000 端口。这个端口通常用于 Jenkins 节点之间的通信,尤其是用于从 Jenkins 主节点向代理节点传输数据。
  4. –restart=on-failure
    –restart 选项配置容器的重启策略。
    on-failure 意味着当容器因为某些错误退出时(非正常退出),Docker 将自动重启该容器。你可以配置重启次数来避免无限重启。
  5. -v jenkins_home:/var/jenkins_home
    -v 用来创建一个 Docker 卷,将容器内的文件与主机上的目录或卷进行绑定。
    jenkins_home:/var/jenkins_home 表示将宿主机上的 jenkins_home 卷挂载到容器内的 /var/jenkins_home 目录。这个目录用于存储 Jenkins 的配置文件、插件和其他持久化数据,这样即使容器重启或删除,数据仍然得以保留。
  6. jenkins/jenkins:lts-jdk17
    jenkins/jenkins 是使用的 Docker 镜像名称,表示 Jenkins 官方镜像。
    lts-jdk17 是该镜像的标签,表示这是一个长期支持(LTS)版本的 Jenkins,并且基于 JDK 17。

在这里插入图片描述
具体 Docker 部署教程jenkins -->

1.2 启动 Jenkins

http://localhost:8088
在这里插入图片描述

1.3 安装 SSH 插件

在这里插入图片描述
主要安装

选择插件管理
在这里插入图片描述
在这里插入图片描述
报错不要管他。

1.4 凭证配置

凭证管理
在这里插入图片描述
添加凭证

主要是需要输入你需要访问的 linux 服务器饿用户名很密码 。
在这里插入图片描述

1.5 系统配置

用户名 root ,密码 root
在这里插入图片描述

2 新建一个软件项目

新建任务

在这里插入图片描述

Configure 配置任务

crontab 定时器

在这里插入图片描述

在这里插入图片描述

控制台输出

在这里插入图片描述

linux 显示的页面

在这里插入图片描述

相关文章:

  • SQL数据库系统全解析:从入门到实践
  • H7-TOOL固件2.29发布,支持各种第3方串口桥接功能,RTT自动重连,CAN/RTT/UART窗口独立同时刷新,增加多款脱机烧录(2025-04-30)
  • 多模态大语言模型arxiv论文略读(五十三)
  • Discover SubtitleMaster, the Ultimate Translation Tool for Creators!
  • Vue之脚手架与组件化开发
  • Linux 命令如何同时支持文件参数与管道输入?
  • 时序建模演进之路:从 MLP、RNN 到 LSTM 与 GRU
  • 【Leetcode 每日一题】2071. 你可以安排的最多任务数目
  • 使用Delphi 和 CrossVcl 开发基于VCL的 macOS 和 Linux 应用程序简介
  • C#中的LINQ:简化数据查询与操作
  • Rust多线程性能优化:打破Arc+锁的瓶颈,效率提升10倍
  • ActiveMQ 性能优化与网络配置实战(二)
  • 【信息系统项目管理师-论文真题】2022上半年论文详解(包括解题思路和写作要点)
  • 【QNX+Android虚拟化方案】138 - USB 底层传输原理
  • Webug4.0靶场通关笔记07- 第9关反射XSS和第10关存储XSS
  • 2025年RAG技术发展现状分析
  • C++负载均衡远程调用学习之TCP连接封装与TCPCLIENT封装
  • 【C++学习笔记】深入理解虚函数和多态
  • 操作系统OS是如何指挥外围设备的呢?
  • 量子加密通信:打造未来信息安全的“铜墙铁壁”
  • 金科股份:因信披违规,公司及董事长、总裁、财务负责人等收到行政监管措施决定书
  • 上海浪琴环球马术冠军赛明日启幕!五一假期在这里感受精彩
  • 首部关于民营经济发展的基础性法律,有何亮点?专家解读
  • 水利部将联合最高检开展黄河流域水生态保护专项行动
  • 中央宣传部、全国总工会联合发布2025年“最美职工”先进事迹
  • 张炜琳已任三明市委常委、宣传部部长