前端部署ant+yuicompressor文件压缩+获取版本号+SSH发布

4617次浏览

ant+yuicompressor在前端部署和服务器发布中用处极大。之前介绍的SASS可以压缩CSS,还有grunt技术等等,都很强大。我在项目中用到的是ant+yuicompressor,ant可以压缩CSS,压缩javascript,并可以传输信息和远程服务器发布!

具体ant安装请看:http://www.haorooms.com/tools/ant_book/

感谢ant高手河名同志贡献的文档,我把文档放到我的小工具中了,可以供前端开发者参阅。源文档是河明写的,我在他的基础上稍加改动,后期将对其继续完善。

下面总结一下我运用ant当中的一些知识吧:

在cmd中输入 ant -Dversion ="某某某"

在build中property可以接受穿来的某某某,代码如下

 <property name="version" value=""></property>

并可以将版本作为文件夹名称或者输出!

相关简单的操作我就不啰嗦了,下面说说css和js的压缩

javascript压缩代码如下:

    <apply executable="java" parallel="false" failonerror="true" dest="输出路径" append="false" force="true">
        <fileset dir="输出路径">
            <exclude name="**/*.min.js" />
            <include name="m/tsses/dessfault/js/zsss.js" />
            <include name="**/*.js" />
        </fileset>
        <arg line="-jar" />
        <arg path="${compressor}" />
        <arg line="--charset utf8" />
        <srcfile />
        <arg line="-o" />
        <mapper type="glob" from="*.js" to="*.js" />
        <targetfile />
    </apply>

css压缩代码如下:

    <apply executable="java" parallel="false" failonerror="true" dest="路径" append="false" force="true">
        <fileset dir=".路径">
            <include name="**/*.css" />
        </fileset>
        <arg line="-jar" />
        <arg path="${compressor}" />
        <arg line="--charset utf8" />
        <srcfile />
        <arg line="-o" />
        <mapper type="glob" from="*.css" to="*.css" />
        <targetfile />
    </apply>

还可以用jslint来检查文件的书写规范,后面再讲。

用SCP来进行远程文件发布:

<scp todir="主机用户名:主机密码@主机IP地址 :文件路径"  trust="true">
    <fileset dir='../../release/${version}_website/(文件地址)'>
        <exclude name="${data}"/>
        <exclude name="${images}"/>
        <exclude name="${temp}"/>
        <exclude name="${uc_avatar}"/>
    </fileset>
</scp>

${},是配置的变量,可以在头部引入build.properties 自定义一些变量。

通过SVN info获取SVN版本号通过调用cmd命令行,获取SVN版本,存放到buildRevision文件中,然后再引进buildRevision这个文件。读取版本号的值。

其中

<redirector>
      <outputfilterchain>
          <linecontainsregexp>
              <regexp pattern="^Revision:"/>
          </linecontainsregexp>
          <tokenfilter>
              <replaceregex pattern="Revision\:\s*" flags="s" replace="Revision="/>
          </tokenfilter>
      </outputfilterchain>
  </redirector>

这个的意思是过滤掉SVNINFO命令行中其他,只留下Revision=版本号 然后再引进就可以了。

这些是我之前用ant所要注意的难点和重点,现在分享出来,供大家参考!

Tags: antyuicompressor前端

相关文章: