首页 > 解决方案 > 创建 Jenkins 作业以在服务器上部署文件

问题描述

我正在从事一项 Jenkins 工作,该工作将从 GIT 存储库下载特定文件,然后将其部署到服务器上的指定位置。Jenkins 工作将向用户询问以下变量:

  1. 提交需要复制的 repo 中文件的 ID 和名称。
  2. 需要复制文件的目标服务器上的路径。

这是我到目前为止所做的:

到目前为止,代码如下所示:

git checkout $commit $filename
scp $filename username@$servername:/path/to/deploy/

挑战在于如何将变量提供给 shell 脚本。甚至可以这样做吗?任何帮助,将不胜感激。

标签: linuxgitjenkins

解决方案


以下解决方案有效。

将 GIT 存储库添加到 Jenkins 自由式作业中 在此处输入图像描述

检查选项后,“此项目已参数化”,我添加了 3 个变量,如图所示。 在此处输入图像描述

然后修改shell脚本如下 在此处输入图像描述

#!/bin/bash
pwd
ssh ansible@$server_name "cp "$File_path"/"$file_name" "$File_path"/"$file_name"_"$(date +"%Y-%m-%d")";"
scp $file_name ansible@$server_name:$File_path

推荐阅读