跳过正文
Background Image
  1. Posts/

通过参数化上传文件到 FTP 服务器

·359 字·1 分钟· ·
沈显鹏
作者
沈显鹏

实现 CI/CD 过程中,常常需要将构建好的 build 上传到一个公共的服务器,供测试、开发来获取最新的 build。如何上传 build 成果物到 FTP server,又不想把 FTP server登录的用户名和密码存在脚本里,想做这样的参数化如何实现呢?

upload_to_ftp.bat [hostname] [username] [password] [local_path] [remote_pat]

windows batch 由于它的局限性,在实现上是比较麻烦的,但还是有办法。如何用 windows batch 来实现呢?借助一个临时文件,把需要的参数写入到临时文件里,然后通过 ftp -s 参数读取文件,最后把临时文件删除的方式来实现。

@echo off

set ftp_hostname=%1
set ftp_username=%2
set ftp_password=%3
set local_path=%4
set remote_path=%5

if %ftp_hostname%! == ! ( echo "ftp_hostname not set correctly" & goto USAGE )
if %ftp_username%! == ! ( echo "ftp_username not set correctly" & goto USAGE )
if %ftp_password%! == ! ( echo "ftp_password not set correctly" & goto USAGE )
if %local_path%! == ! ( echo "local_path not set correctly" & goto USAGE )
if %remote_path%! == ! ( echo "remote_path not set correctly" & goto USAGE )

echo open %ftp_hostname% > ftp.txt
echo user %ftp_username% %ftp_password% >> ftp.txt
echo cd %remote_path% >> ftp.txt
echo lcd %local_path% >>ftp.txt
echo prompt off >>ftp.txt
echo bin >> ftp.txt
echo mput * >> ftp.txt
echo bye >> ftp.txt
ftp -n -s:ftp.txt

del ftp.txt
goto END

:USAGE
echo.
echo.   - -------------------------------------------------------------------------------
echo.   - upload_to_ftp.bat [hostname] [username] [password] [local_path] [remote_pat]  -
echo.   - Example:                                                                      -
echo.   - upload_to_ftp.bat 192.168.1.1 guest guest D:\Media\* C:\Builds\               -
echo.   - -------------------------------------------------------------------------------
echo.

:END

相关文章

最受欢迎的 Python 自动化测试框架推荐
·749 字·2 分钟
本文整理了当前最受欢迎的 Python 自动化测试框架,包括 Robot Framework、RedwoodHQ、Jasmine 和 Pytest 的介绍和比较。
Nightwatch 自动化测试中比较颜色
·290 字·1 分钟
本文介绍了如何在 Nightwatch.js 中处理颜色比较,包括获取元素的颜色值并与预期颜色进行对比的示例代码。
Nightwatch 使用 VS code 进行调试
·86 字·1 分钟
本文介绍如何配置 VS Code 来调试 Nightwatch 测试代码,提供了详细的配置示例和步骤。
Jenkins Linux Agent 配置
·353 字·1 分钟
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。
Jenkins Windows Agent 配置
·608 字·2 分钟
本文提供 Jenkins Windows Agent 的详细配置步骤,包括 Java 运行时准备、节点创建以及常见问题的排查方法。