Jenkins应用篇—Jenkins+Maven打包静态文件

本文是Jenkins应用系统文章的一部分,大部分来自工作和学习中的实践,部分内容来自官方文档和网友的文章,引用的文章会在“参考资料”部分附上原始链接,如无意中侵犯您的权利,请联系QQ:46106962,如需要进一步的交流请加入QQ群:(Jenkins部落:469536515,Jenkins部落-2:141762278)。转载和使用请注明出处。

介绍如何使用Maven构建前端工程,通过Publish Over SSH(配置参考:Publish Over SSH)插件发布到远程机器上的Nginx。文章中的示例进行了大量的简化,希望对使用Jenkins+Maven构建PHP、H5工程、发布提供思路。打包工具为maven-assembly-plugin插件,maven-assembly-plugin是Maven中一个强大的存在。

工程结构

工程在svn上的路径:http://10.11.33.19/svn/code/demo/trunk
目录结构:
/css
/js
/images
/user
index.html
pom.xml
assembly.xml

Maven配置

POM


    4.0.0

    com.hyf.test
    html-demo
    0.0.1-SNAPSHOT
    pom

    Htmo Demo
    http://maven.apache.org

    
        UTF-8

        demo
    
    
        ${fileName}

        
            
                org.apache.maven.plugins
                maven-assembly-plugin
		2.5.5
                
                    
                        assembly.xml
                    
                
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
            
        
    

ASSEMBLY


    html
    
        zip
    

    
        
            ${project.basedir}
            
                *.html
            
            true
        
        
            js
            true
        
        
            images
            true
        
        
            css
            true
        
    

构建后Jenkins工作空间的目录结构

/css
/js
/images
/user
/target
/target/demo-all.zip
index.html
pom.xml
assembly.xml
以上只列出了部分重要目录和文件,“/”代表工作空间的根目录,实际目录结构请看Jenkins中相应job里的“工作空间”。

Job中Publish Over SSH配置

主要配置有
Source files:这里的配置主要和工作空间的目录结构和构建生成的zip文件有关,具体怎么写要参照自己项目的工作空间来写,避免走弯路
Remove prefix: 上传到远程机器时要过滤掉的目录,如下图中的“target”
Exec command: 上传到远程机器后进行部署时用到的命令,这里进行了简化,只管部署不管备份和还原
Exec in pty:主要和sudo的使用有关,如果运行job时不出现“sudo: sorry, you must have a tty to run sudo”错误不用勾选,默认未勾选
配置如下图:

Jenkins应用篇—Jenkins+Maven打包静态文件_第1张图片





Jenkins应用篇—Jenkins+Maven打包静态文件_第2张图片

你可能感兴趣的:(Jenkins,CI,持续集成,远程部署)