今天把目前负责的项目集成到jenkins中,主要是为了达到自动化构建和部署的目标。
Jenkins GitLab都是已安装好的,
1. 集成GitLab
1.1安装git和gitlab插件
通过菜单进行插件安装: 系统管理→插件管理→可选插件
1.2. 配置git和GitLab
略
2. 自动化部署
2.1安装Publish Over SSH 插件
通过菜单进行插件安装: 系统管理→插件管理→可选插件
2.2配置Publish Over SSH 插件
2.2.1 配置 SSH server
通过系统管理 -- 系统设置进行配置
2.2.2 发布配置, 在构建后部署中配置
SSH server 为2.2.1 中配置的SSH, 这里直接选择即可
构建后操作→Add post-build action→Send build artifacts over SSH
SSH Server Name:选个一个你在系统设置里配置的配置的名字
Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)
Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)
Remote directory:远程目录(注意:这个是相对SSH Server 中指点用户的目录登陆后目录的相对路径)
Exec command:把你要执行的命令写在里面
(新版本的要求Transfer Set Source files和Exec command都要填写,可以不了他。老版本的允许只填写一个)
高级:
Exclude files:排除的文件(在你传输目录的时候很有用,使用通配符,例如:**/*.log,**/*.tmp,.Git/)
Pattern separator:分隔符(配置Transfer Set Source files的分隔符。如果你这儿更改了,上面的内容也需要更改)
No default excludes:禁止默认的排除规则(具体的自己看帮助)
Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。(个人理解)
Flatten files:只上传文件,不创建目录(除了远程目录)
Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式),具体格式参考下表:
以上内容主要参考
jenkins与gitlab集成 http://www.ilanni.com/?p=12751#3.2 配置git和gitlab插件
Jenkins进阶系列之——10Publish Over SSH插件
http://www.cnblogs.com/zz0412/p/jenkins_jj_10.html