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
- docker run
这是启动 Docker 容器的基本命令。 - -p 8080:8080
-p 是用于将容器的端口映射到宿主机的端口。
8080:8080 表示将容器内的 8080 端口映射到宿主机的 8080 端口。这个端口通常用于访问 Jenkins 的 Web UI。 - -p 50000:50000
50000:50000 将容器内的 50000 端口映射到宿主机的 50000 端口。这个端口通常用于 Jenkins 节点之间的通信,尤其是用于从 Jenkins 主节点向代理节点传输数据。 - –restart=on-failure
–restart 选项配置容器的重启策略。
on-failure 意味着当容器因为某些错误退出时(非正常退出),Docker 将自动重启该容器。你可以配置重启次数来避免无限重启。 - -v jenkins_home:/var/jenkins_home
-v 用来创建一个 Docker 卷,将容器内的文件与主机上的目录或卷进行绑定。
jenkins_home:/var/jenkins_home 表示将宿主机上的 jenkins_home 卷挂载到容器内的 /var/jenkins_home 目录。这个目录用于存储 Jenkins 的配置文件、插件和其他持久化数据,这样即使容器重启或删除,数据仍然得以保留。 - jenkins/jenkins:lts-jdk17
jenkins/jenkins 是使用的 Docker 镜像名称,表示 Jenkins 官方镜像。
lts-jdk17 是该镜像的标签,表示这是一个长期支持(LTS)版本的 Jenkins,并且基于 JDK 17。
1.2 启动 Jenkins
http://localhost:8088
1.3 安装 SSH 插件
主要安装
选择插件管理
报错不要管他。
1.4 凭证配置
凭证管理
添加凭证
主要是需要输入你需要访问的 linux 服务器饿用户名很密码 。
1.5 系统配置
用户名 root ,密码 root
2 新建一个软件项目
新建任务
Configure 配置任务
crontab 定时器