公司内网项目内网开发,但部署需要部署到外网,没法连git构建,只能拿打包好的文件进行更新。
初期就一台服务器手动部署,但随着需要部署的服务器多了起来,手动部署太麻烦了,改用jenkins更新,其实就是把文件传上去,然后调脚本部署,把这俩步整合了一下。
把使用jenkins过程中遇到的一些问题记录下。
1.往服务器传文件需要下载插件 Publish Over SSH
2.在Configure System中搜索ssh,添加SSH Servers配置服务器信息,注意Remote Directory一栏配置好根目录,比如/opt,方便后面传文件时指定存储目录,这里写的是绝对路径
3.创建item后,在构建一栏选择 Send files or execute commands over SSH,Transfers 里面几个参数的解释如下
Source files:填写要传的文件,支持*.zip这种格式,注意这里默认根目录是jenkins的工作空间根目录,比如我电脑工作目录是 D:\work\JenkinsWorkspace\workspace ,下边有对应item名称文件夹,根目录就是这个文件夹,我传的是一个单文件,比如test.zip,这栏直接填写test.zip就可以了。
Remove prefix:要去除的目录前缀,我没有在工作目录下新建其他层级,所以我没填写
Remote directory:服务器存储位置,这个地方填写的是根据前面设置的存储路径,要存储的目录,比如要存储在/opt/tmp/demo/目录下边,填写/tmp/demo/就可以了
Exec command:填写要执行的服务器脚本,这个地方写语句就可以了,比如我要执行/opt/tmp/demo1.sh,填写 bash /opt/tmp/demo1.sh
如果build期间出了问题,可以把ssh Server中的 Verbose output in console选项打开打印详细信息
4.添加构建确认框
一般来说点击build直接就进行构建了,但怕误操作,想添加一个确认按钮,查了一下可以用 This project is parameterized 来实现,这个选项在General下边。
选择 Choice Parameter 下拉选择框
名称: build_yes_or_no 选项: yes no 然后在构建里选择 Execute shell 填写下列代码就完成这个操作了,如果遇到没有sh文件的报错,记得把Configure System中的Shell路径配置好,我是配置的git中的sh.exe文件if [ "${build_yes_or_no}" == "yes" ]; then echo yes else echo no exit 1 fi
标签:文件,根目录,使用,jenkins,服务器,填写,yes From: https://www.cnblogs.com/moerjiana/p/16976312.html