当前位置:首页 » 文件传输 » jenkins可以共用ftp吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

jenkins可以共用ftp吗

发布时间: 2022-07-08 00:08:22

‘壹’ jenkins配置文件在哪

当然,你也可以为你的目标机器安装SSH服务。

我先说说解决的思路,然后再附上具体的步骤和shell脚本

思路:将jenkins安装在linux系统上--->SVNcheckout部署的项目--->maven插件编译、打包--->使用jenkins的FTP插件将需要部署的项目或打成的包上传到指定的机器--->执行shell脚本登录该机器进行解压、部署、启动等操作(也可以直接执行写好的shell)。

具体步骤:

(1)源码管理,填写相应的项目SVN地址以及用户名密码

(2)配置mavenbuild,maven插件的配置在系统设置里面设置。

(3)FTP上传

这里的Sourcefiles是jenkins的workspace的相对路径,Removeprefix为取消的前缀(只保留项目名称部分)。

(4)构建时执行脚本

这是Telnet远程登录的脚本
#!/usr/bin/envshUSERNAME=swdev#登录用户名PASSWARD=swdev#登录密码TAR=icore-business-ecif-biz-0.0.1-SNAPSHOT-unix.tar.gz#TAR是上传的压缩包的名字MODEL=provider#MODEL是压缩包根目录的名字和启动的二进制程序名一样DEPLOY_DIR=ecif#DEPLOY_IP是上传文件所在的目录REMOTE_IP=192.168.2.3#登录IP(sleep1;echo"$USERNAME";\sleep1;echo"$PASSWARD";\sleep1;echo"cd\$HOME/$DEPLOY_DIR";\sleep1;echo"chmod+x./deploy";\sleep1;echo"nohup./deploy$TAR$MODEL2>&1>deploy.log&";\sleep10)|telnet$REMOTE_IPexit0
(5)构建后执行脚本deploy.sh(主要用于解压、部署、启动等操作,这个放在上传文件所在的目录中)
#!/usr/bin/envsh##$1tar.gzname#$2providersourcefoldername#set-elog_message{echo"[$(date+%Y%m%d-%H:%M:%S)]$1"}BASDIR=$(dirname$0)if[$#-lt2];thenlog_message"Usage:$(basename$0)[tarname][providername]"exit1fi#Stoppreviousversionandbackup,thenremovepreviouspackageCMD="$BASDIR/$2/bin/$2"if[-e"$2"];then$CMDstopbackup="${2}-$(date+%Y%m%d%H%M%S)"log_message"Backuppreviousapplicationto${backup}.tar.gz"tar-cvf$backup.tar$2gzip${backup}.tarrm-rf$2filog_message"Extractpackagebegin"gunzip-c$1|tar-xvf-#Generatelogdirectorymkdir-p$BASDIR/$2/logslog_message"Startingapplication"$CMDstart
这个脚本只是一个示例,需要根据具体业务具体而定。

最后呢,遇到的几个比较坑的地方拿出来与大家分享下:

FailedtoparsePOMs.

原因:本地服务器和maven服务器之间的连接出现了问题,导致jar包无法下载而报错

解决方法:

vi/etc/hosts

在文件末尾加上你所使用的私服地址如:"192.168.1.1www.nexus.xxx.com"

运行"#/etc/init.d/networkingrestart"重启网络

‘贰’ FTP服务器建立两个部门相互独立的文件夹

你的意思就是两个科室共用一个FTP服务器了?!比如说都是ftp://59.74.111.251,然后进去里面的东西都可以访问!?
不知道你们的FTP有没有用户名和密码!?
如果没有的话,可以新建两个用户,再加上密码,一个部门一个账号,对方都不知道对方的账号和密码不就行了吗!?

‘叁’ ftp服务器能和web服务器共用一个端口吗

不可以。

对于外部请求而言,我去请求你的80端口,你拿什么去判断我的请求?用协议?

你还是FTP 用21 WEB用80来有直接些。

‘肆’ 怎样让jenkins构建失败后仍然启动publish ftp传递文件

enkins有个publisher over ftp的插件,可以在构建之后将文件传递到ftp服务器。但是在构建失败的时候,这一步就略过了。怎样可以让jenkins在前边shell脚本报错失败的情况下。也执行ftp这一步呢?
或者有其他插件or方法吗?像邮件通知那样,无论成功失败,都会有对应的操作。

‘伍’ jenkins+maven+svn 远程部署到weblogic 持续集成

1. 安装 Docker
首先,我们要安装 docker,因为这是 Drone 的工作流的最关键的元素。Drone 合理的利用了 docker 来构建和测试应用。容器技术提高了应用部署的效率。要安装 docker ,我们需要在不同的 linux 发行版本运行下面对应的命令,我们这里会说明 Ubuntu 14.04 和 CentOS 7 两个版本。

Ubuntu

要在 Ubuntu 上安装 Docker ,我们只需要运行下面的命令。

# apt-get update # apt-get install docker.io
安装之后我们需要使用service命令重启 docker 引擎。

# service docker restart
然后我们让 docker 在系统启动时自动启动。

# update-rc.d docker defaults Adding system startup for /etc/init.d/docker ... /etc/rc0.d/K20docker -> ../init.d/docker /etc/rc1.d/K20docker -> ../init.d/docker /etc/rc6.d/K20docker -> ../init.d/docker /etc/rc2.d/S20docker -> ../init.d/docker /etc/rc3.d/S20docker -> ../init.d/docker /etc/rc4.d/S20docker -> ../init.d/docker /etc/rc5.d/S20docker -> ../init.d/docker
CentOS

‘陆’ 2个网站如何共用1个ftp

请这位同志在问题补充里说清楚一点!!

这个问题让人摸不着头脑

如果你一个FTP能上去,空间足够的话,你传多少个网站进去都可以的,,大家说是吧

如果想让两个域名分别访问两个网站,而FTP只有一个.也是可以的,不过这种情况下只有是自己的服务器域朋友的才可以.因为设置要手动.网上注册实时是不行的

下面的是实现方法比如你的网站真实目录是
D:\wwwroot\web\web1(网站1)
D:\wwwroot\web\web2(网站2)
那么FTP设置的路径是D:\wwwroot\web\
这样你传的时候注意里面的两个文件夹相对应的网站内容就可以了!!

‘柒’ 求助,如何ftp和samba共用同一个目录

FTP的目录是可以自己选择的,可以选择C盘 D盘 E盘,也可以随便选择一个文件夹或者新建一个文件夹当做FTP文件夹。这个可以在搭建FTP服务器的时候选择路径。
而使用SMB协议的话,需要右键选择你需要的那个文件夹,点击属性设置为共享。你可以选择用户为everyone,这样方便点。
按以上步骤即可实现FTP文件夹和SMB共享文件夹都是一个文件夹。

‘捌’ jenkins 2 pipeline怎么获取各个阶段的log

建议你这样试试看:

  1. 在每个stage{} 中, 用 post {} 上传日志

  2. 再整个 pipeline{} 末尾, 用 post{} 上传日志

这样做的好处:

  1. 层次清晰

  2. 可以聚合各个 stage 的日志, 如 robotframework log, build log ......


By Xiak

‘玖’ jenkins定时与ftp下载可以共用么

雷达Rad_FTP,可以定时FTP上传、定时FTP下载、定时拷贝文件、定时移动文件、定时重命名文件、定时删除文件以及按计划进行文件管理。最初是为多普勒天气雷达传输数据而设计的,故名为Rad_FTP。

‘拾’ jenkins参数化构建过程中的各个参数之间是没有关联的吗

第一个plugin 是可以将第一job本次运行参数写入一个文件中,供其他job调用;

第二个plugin 可以将第一job本次运行参数通过冲命名参数名,将数值传递给下游job使用;
至于你所说下游job参数化构建过程是否能调用成功,就要看jenkins是否支持你的构建脚本运行工具,经测试传递的参数在ftp命令行是不能读取的;
据此可以推论,此plugin传递的参数是无法传递进入第三方命令行。