zoukankan      html  css  js  c++  java
  • Jenkins部署maven项目到远端服务器

    jenkins服务器地址:192.168.1.203
    项目部署机器地址:192.168.1.201,192.168.1.200
    代码托管github
    虽然比较low,但是入门是可以的!

    Jenkins安装

    参考:https://jenkins.io/zh/doc/book/installing/
    下载地址:https://jenkins.io/download/
    本示例采用rpm包安装。
    Jenkins需要JDK1.8支持。
    Jenkins默认配置文件:/etc/sysconfig/jenkins
    Jenkins war包位置:/usr/lib/jenkins/jenkins.war

    # java -version
    java version "1.8.0_73"
    Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
    Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
    

    安装过程中该Jenkins实例似乎已离线


    解决办法:
    默认是通过https://updates.jenkins.io/update-center.json 进行更新的。此处,将https改为http,重启Jenkins,重新打开页面,一切都正常了。

    # find / -name "hudson.model.UpdateCenter.xml"
    /xx/jenkins/hudson.model.UpdateCenter.xml
    # vim /beike/jenkins/hudson.model.UpdateCenter.xml
    <?xml version='1.1' encoding='UTF-8'?>
    <sites>
      <site>
        <id>default</id>
        <url>http://updates.jenkins.io/update-center.json</url>
      </site>
    </sites>
    # /etc/init.d/jenkins restart
    

    No such plugin: cloudbees-folder


    因为下载的Jenkins.war里没有cloudbees-folder插件
    需要在网上下载:http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/
    下载cloudbees-folder.hpi放在/xxx/webapps/jenkins/WEB-INF/detached-plugins即可

    # find / -name "detached-plugins"
    /var/cache/jenkins/war/WEB-INF/detached-plugins
    # cd /var/cache/jenkins/war/WEB-INF/detached-plugins
    # wget http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/latest/cloudbees-folder.hpi
    # /etc/init.d/jenkins restart
    

    之后可正常安装jenkins社区版推荐插件!

    Jenkins手动插件安装

    系统管理------>插件管理
    如果遇到如下报错:

    解决办法:
    Advanced

    将https修改为http即可
    需安装插件:

    GIT client plugin
    GIT plugin
    Git server plugin
    GitHub API Plugin
    GitHub plugin
    SSH Credentials Plugin
    SSH plugin
    Publish Over SSH
    Maven Integration
    NodeJS
    

    设置环境变量



    不要勾选自动安装!

    Jenkins配置机器信任

    配置Jenkins服务器与待发布服务器之间的信任

    #  ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.200
    #  ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.201
    

    Jenkins中添加已经信任的机器


    使用密码验证!

    配置Jenkins与git信任

    配置git认证

    Jenkins服务器上生成秘钥:

    # ssh-keygen
    

    将.ssh/id_rsa.pub 复制到git的ssh key中,便于拉取代码

    测试Jenkins服务器可以可以clone代码!

    配置Jenkins认证



    此处输入.ssh/id_rsa

    创建项目

    创建maven项目

    项目描述

    SSHF方式,若无认证,会报错

    正常情况:

    依赖pom文件的编译命令:

    编译成功后动作:

    连接到部署服务器上,将原来的服务暂时暂停,备份上一次部署的压缩包,选择添加远程shell脚本执行。

    把打包好的代码发送到服务器上,并且启动服务,选择通过ssh发送文件并执行命令到远程服务器。

  • 相关阅读:
    JavaScript设计模式(策略模式)
    JavaScript设计模式(单例模式)
    react中数据持久化缓存redux-persist
    webpack编写一个plugin插件
    webpack自定义loader并发布
    Vue用递归实现一个消除输入框表情符的自定义directive
    Spring MVC表单防重复提交
    @Controller,@Service,@Repository,@Component详解
    Spring Enable*高级应用及原理
    Spring Aware容器感知技术
  • 原文地址:https://www.cnblogs.com/aresxin/p/Jenkins-maven.html
Copyright © 2011-2022 走看看