美文网首页
ubuntu搭建Jenkins自动化部署服务

ubuntu搭建Jenkins自动化部署服务

作者: liuwei89757 | 来源:发表于2018-04-06 03:59 被阅读0次

    自动化流程

    git拉取项目资源 => maven编译打包 => jar包推送到目标服务器 => 使用shell脚本启动

    软件安装

    JDK 安装

    
    sudo add-apt-repository ppa:webupd8team/java 
    sudo apt-get update
    sudo apt-get install oracle-java8-installer
    sudo update-java-alternatives -s java-8-oracle
    
    测试:java -version
    
    

    maven 安装

    
    sudo apt-get install maven
    
    测试:mvn -version
    
    

    git 安装

    
    sudo apt-get install git
    
    

    配置ssh(Jinkens配置中会讲)

    安装 Jenkins

    
    wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
    sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    sudo apt-get update
    sudo apt-get install jenkins
    
    

    安装成功之后将执行:

    • 以守护进程启动 Jenkins,详细信息可以参考 /etc/init.d/jenkins
    • 创建一个 jenkins 用户用以启动服务
    • 如果 Jenkins 服务异常,可以查看 /var/log/jenkins/jenkins.log 日志文件
    • Jenkins 的配置文件为 /etc/default/jenkins,可以配置启动参数,比如 JENKINS_HOME
    • Jenkins 启动端口为8080,使用浏览器访问该端口开始配置项目

    如果 /etc/init.d/jenkins 文件启动 Jenkins 服务失败,编辑 /etc/default/jenkins 文件,把 HTTP_PORT=8080 换成你的主机可以使用的端口号即可

    Jenkins 配置任务

    目前我所使用的还是最基础的功能,就是利用 Jenkins 执行 mvn 命令打包项目,然后再执行 shell脚本 进行服务的重启。其实看Jenkins文档发现 Pipeline(管道) 功能,很像我们前端的 gulp ,就是利用有顺序的任务来管理构建过程,后面有时间可以再研究一下。

    • 点击左上角的 新建任务,输入项目名称,选择 构建一个自由风格的软件项目,确定。
    • 源码管理 模块,选择 Git;输入你的仓库地址(url分为http与ssh两种类型的,一般使用ssh url),在 Credentials 栏点击 Add 按钮,选择 jenkins 用户;
      如图所示: image ,配好之后返回选择你要构建的分支。
    • 构建模块 ,选择 Execute shell , 然后把要执行的都写进来就好啦。

    马上四点了,写不下去了...

    踩到的坑

    • shell脚本报错:Syntax error: word unexpected (expecting "do")

    这是由于换行符造成的,请把 CRLF 换成 LF

    • maven的repository不是默认的 /root/.m2/repository

    因为 Jenkins 运行时的用户为 jenkins,而 maven 的仓库默认为 {user.home} 就变成了 var/lib/jenkins 下面的 .m2/repository

    • 使用 maven 的 settings.xml 指定本地仓库后 Jenkins 构建报错:==Could not create local repository at ...==

    因为 jenkins 用户没有读取当前仓库的权限,可以修改 /etc/default/jenkins => JENKINS_USER=root JENKINS_GROUP=root

    相关文章

      网友评论

          本文标题:ubuntu搭建Jenkins自动化部署服务

          本文链接:https://www.haomeiwen.com/subject/dddjhftx.html