# jianmu-runner-smbclient **Repository Path**: ImageWQ/jianmu-runner-smbclient ## Basic Information - **Project Name**: jianmu-runner-smbclient - **Description**: 简介:为了安全起见,不建议使用mount挂载windows远程共享文件夹到容器中,可以使用smbclient、ftp等工具完成基本操作,目前设计有上传put、下载get、创建目录mkdir、删除文件夹rmdir、删除文件rm、目录信息列表ls。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-04 - **Last Updated**: 2021-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jianmu-runner-smbclient #### 介绍 为了安全起见,不建议使用mount挂载windows远程共享文件夹到容器中,可以使用smbclient、ftp等工具完成基本操作,目前设计有上传put、下载get、创建目录mkdir、删除文件夹rmdir、删除文件rm、目录信息列表ls。 #### 输入参数 ``` command: 执行远程操作的指令:上传put、下载get、创建目录mkdir、删除文件夹rmdir、删除文件rm、列出远程目录中内容ls share_url: 共享文件夹服务器地址 smb_username: 访问共享文件夹的用户 smb_password: 访问共享文件夹的密码 ``` ``` put: local_path: 待上传文件的路径,如dir1/dir2/file.txt;如果上传整个文件夹,请结尾加上"/",如dir1/dir2/ remote_path: 文件上传的目标远程目录(相对根目录),如果不存在则会相对远程根目录创建这个目标目录 返回result_path: 上传的目的全路径 get: local_path: 下载文件保存到的本地目录,如果不存在则会创建这个目录 remote_path: 待下载文件的的远程路径(相对根目录),如dir1/dir2/file.txt;如果下载整个文件夹,请结尾加上"/",如dir1/dir2/ 返回result_path: 下载到本地的路径 mkdir: local_path: 无效 remote_path: 相对于远程根目录来创建这个目录 返回result_path: 创建的远程全路径 rmdir: local_path: 无效 remote_path: 删除整个文件夹 返回result_path: 删除的远程目录全路径 rm: local_path: 无效 remote_path: 删除指定的文件 返回result_path: 删除的远程文件全路径 ls: local_path: 无效 remote_path: 输出远程目录的详细信息 返回result_path: 控制台打印目录列表详情,仅返回存储大小 ``` #### 输出参数 ``` result_path: 最终文件或目录的位置 ``` #### 构建docker镜像 ##### 离线 ``` # 首先加载file/base-images/99cloud-smbclient.tar到本地: docker load -i file/base-images/99cloud-smbclient.tar # 然后基于本地99cloud/smbclient构建jianmudev/jianmu-runner-smbclient: docker build -t jianmudev/jianmu-runner-smbclient:1.0.0 -f dockerfile/Dockerfile-offline . ``` ##### 在线 ``` # 基于docker hub中的apline:latest构建jianmudev/jianmu-runner-smbclient: docker build -t jianmudev/jianmu-runner-smbclient:1.0.0 -f dockerfile/Dockerfile-online . ``` #### 用法(DSL) ``` pipeline: name: SMBClient操作共享文件夹 ref: smbclient_operate description: 测试put、get、mkdir svn_checkout: type: svn_checkout:1.0.0 param: code_url: svn://10.10.0.78/trunk/ManageJenkins code_version: "43" svn_username: ((svn.username)) svn_password: ((svn.password)) smbclient_put: type: local/smbclient:1.0.0 param: command: put share_url: //10.10.0.151/Share local_path: ${svn_checkout.code_path}/ remote_path: dir1/dir2/dir3 smb_username: ((smbclient.username)) smb_password: ((smbclient.password)) smbclient_get: type: local/smbclient:1.0.0 param: command: get share_url: //10.10.0.151/Share local_path: /usr/dir1/dir2/dir3 remote_path: dir1/dir2/dir3/pom.xml smb_username: ((smbclient.username)) smb_password: ((smbclient.password)) smbclient_rm: type: local/smbclient:1.0.0 param: command: rm share_url: //10.10.0.151/Share local_path: "" remote_path: dir1/dir2/dir3/ManageJenkins.iml smb_username: ((smbclient.username)) smb_password: ((smbclient.password)) smbclient_ls: type: local/smbclient:1.0.0 param: command: ls share_url: //10.10.0.151/Share local_path: "" remote_path: dir1/dir2/dir3 smb_username: ((smbclient.username)) smb_password: ((smbclient.password)) smbclient_rmdir: type: local/smbclient:1.0.0 param: command: rmdir share_url: //10.10.0.151/Share local_path: "" remote_path: dir1/dir2/dir3 smb_username: ((smbclient.username)) smb_password: ((smbclient.password)) ```