zoukankan      html  css  js  c++  java
  • jenkins 学习记录1

    主题

      以前自己做些小玩意儿比如博客(http://blogv3.labofjet.com/)的时候,在远程服务器上的tomcat发布工程用的是目录的结构,而不是war.原因很简单.用目录结构的话每次只需要把修改的.class文件,.jsp文件等文件覆盖原本的文件即可.而如果是war的话就无比蛋疼,每次都要重新整个war覆盖,而且打包比较麻烦.

      对于我自己玩玩的项目当然没问题.但是如果一次修改了多个文件,那一个个找出来覆盖tomcat上旧的文件也是一件很让人火大的事情.

      公司项目打包用的是jenkins.虽然一般是测试打包,但是我也偷偷手贱点过几次(哈哈)..觉得还是蛮好用的,确实减少了不少工作量,而且不容易出错.所以有空的时候我也学习了下jenkins打包.并记录下学习过程与心得.

    安装

    其实安装没啥好记录的....学计算机的就算不看教程应该也都会吧..简单分享下..没啥技术含量...= =

    我在jenkins的官网上发现了不同操作系统的安装包.但是我觉得最简单的还是war包的那种方式,因为只要装了java就可以跨平台了.而且我肯定会装java.所以我就下载了这个版本的jenkins.

    然后我设置了一下环境变量.

    不设置也没关系的.会有个默认安装地址.

    然后把war丢到tomcat里启动tomcat就行(其实不用tomcat,直接java -jar jenkins.war也可以的).

    然后访问http://localhost:8080/jenkins 会跳转并让你输入一个字符串证明你有操作权限

    然后就让你装插件...其实也没啥好装的...自带的就够了....我额外装了一个publish over ssh和ssh plugin..因为以后可能要远程部署项目(好令人激动).

    再然后就新建1个用户作为admin.

    然后进入 系统管理 -> 插件管理 去安装一下maven的插件,因为我的项目都是用maven的.所以要装这个插件.

    装好maven插件以后还需要在 系统管理 -> Global Tool Configuration里设置一下mave的安装地址

    打包项目

    安装好jenkins以后就可以打包了.新建一个job.选择maven项目.

    选择代码仓库地址

    我代码是用git托管在oschina上的.所以仓库地址写oschina的git的地址

    配置完地址URL以后就提示我没权限.

    那我们就在Credentials里配置一下.有很多种认证方式.可能用户名和密码是最简单的.但是我因为以前把本机的SSH private key在oschina上添加过...所以我这里就采用这种方式了.

    build

    即使不配置其他选项,用默认的参数取打包应该也能成功.但是有个很蛋疼的地方就是maven install的时候会去执行各种test.

    执行test比较费时,而且打包的时候并不需要jenkins去做test.平时我们自己会去做的.所以我们需要关闭test

    那我们就百度一下怎么跳过test的关节好了.(其实jenkins在这里特别提示了一下怎么配置参数.例子就是跳过maven的test)

    然后就可以打包了.

    注意事项:

    我一开始打包各种失败.查看了控制台发现错误都是GBK不可映射字符.

    解决办法有2个:

    第一种是在pom里添加

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.0.2</version>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    但是打包还是会有提示说构建用的字符集是依赖于系统的.

    第二种是在pom里添加

        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>

    就没问题了.

    打包多个项目

    打包多个项目的时候会有个有趣的现象.

    比如有2个项目service和web.都作为job在jenkins里.

    当你打包service的时候会等service打完会自动去打包web.

    原因是web是依赖于service的.所以当service更新的时候要去更新web.

    这也解释了下maven为什么要拆分多个模块...一个原因就是打包的时候如果我只打包web.那依赖的service这个jar包可以直接复制到lib目录下而不用重新编译service.打包速度会快许多.

    小结

    根据上面的记录已经可以成功打包了...后面有机会再学习下怎么把包发布到远程的tomcat并重启服务器..都能做到的话就爽歪歪了.

  • 相关阅读:
    struts2<s:property />标签
    struts2值栈分析
    Java编程 “提高性能” 应尽力做到
    java中Set类接口的用法
    oc-可变数组继承不可变数组
    oc-数组内元素排序
    oc-数组遍历
    oc-创建数组
    oc-字典应用
    oc-数组应用及相关练习
  • 原文地址:https://www.cnblogs.com/abcwt112/p/6274575.html
Copyright © 2011-2022 走看看