linux - 创建 Jenkins 作业以在服务器上部署文件
问题描述
我正在从事一项 Jenkins 工作,该工作将从 GIT 存储库下载特定文件,然后将其部署到服务器上的指定位置。Jenkins 工作将向用户询问以下变量:
- 提交需要复制的 repo 中文件的 ID 和名称。
- 需要复制文件的目标服务器上的路径。
这是我到目前为止所做的:
- 安装并配置 GIT,以便将 repo 拉到 Jenkins 服务器
- 配置目标服务器,以便 Jenkins 可以使用“执行 shell 选项”将文件复制到 3 个目标服务器之一。
- 在构建操作中,编写了一个 ssh 命令,该命令将从 git repo 中检出文件的特定提交。
- 编写了一个 shell 命令,该命令将 scp 签出的文件发送到 3 个目标服务器之一。当然目标服务器将由用户提供。
到目前为止,代码如下所示:
git checkout $commit $filename
scp $filename username@$servername:/path/to/deploy/
挑战在于如何将变量提供给 shell 脚本。甚至可以这样做吗?任何帮助,将不胜感激。
解决方案
推荐阅读
- flutter - How to vertically align Text inside Container
- c# - Android C# 在填充新数据之前清除 TextView
- javascript - discord.io 通过 Discord Bot - NodeJS 发送图像
- d3.js - 拖动时,在释放鼠标单击之前对节点施加力
- python - 列表索引超出范围错误:使用 Beautifoul Soup 进行网页抓取
- deep-learning - 损失减少突然跳跃
- python - python -m http.server 不适用于 POST
- python - 如何反馈某个类的错误处理方法发生错误?
- express - Vuejs axios delete 方法适用于创建但不适用于方法
- javascript - div 中的元素作为孩子被删除但不能再次使用