3 gogs+jenkins 触发远程构建及tomcat管理war包替换

Posted 一无是处谢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3 gogs+jenkins 触发远程构建及tomcat管理war包替换相关的知识,希望对你有一定的参考价值。

环境 centos7

一、gogs安装---这里采用git用户,实际我是用root 安装在/usr/local/gogs下的

    1、添加用户,设置sudo,查看内核版本信息,确认架构,下载相应的安装包

  useradd git #添加用户

  vim /etc/sudoer

  git    ALL=(ALL)    NOPASSWD:ALL  #添加这行在执行sudo时无需密码

  如不能编辑更改文件只读权限为读写  chmod u+w /etc/sudoer  #改回去 chmod u-w /etc/sudoer

  uname -a  #查看内核架构版本

  wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz  #下载对应二进制安装包

     2、解压包至git目录, 修改权限及所有者,安装基础环境,启动gogs

  tar -xf gogs_0.11.91_linux_amd64.tar.gz  -C /home/git/

  chmod -R 755 /home/git/gogs

  chown -R git:git /home/git/gogs

  yum -y install git nginx

  su - git -c "cd /home/git/gogs && ./gogs web &"

     3、添加启动项

  cp scripts/systemd/gogs.service /etc/systemd/system

  cp scripts/init/centos/gogs /etc/init.d/
  chmod u+x scripts/init/centos/gogs
  chmod u+x scripts/systemd/gogs.service
  ln -sf scripts/systemd/gogs.service /usr/lib/systemd/
  systemctl enable gogs.service
  systemctl status gogs.service
  #如不行 chkconfig gogs on && service gogs restart

  4、设置idea,提交项目代码

  4.1、菜单 VCS ---Enable Version Control Integration---git

    

 

 

   4.2、设置远程地址: 右键点击工程选择菜单 Git --> Repository -->Remotes

   4.3、Git add->commit->push,然后刷新gogs页面

 

二、gogs与jenkins设置

  1、gogs仓库设置和添加jenkins公钥

    1.1 管理帐户登录,点击某个项目,选择仓库设置

    

 

    1.2 添加web钩子,指定jenkins项目地址,格式:  http(s)://<你的Jenkins地址>/gogs-webhook/?job=<你的Jenkins任务名>

 

     

 

 

     1.3 右上角用户设置--SSH密钥,添加jenkins公钥

    

 

 

   2、jenkins安装插件,新建项目及设置git地址和构建,触发器等

    2.1、安装插件,设置环境及新建项目设置仓库地址

    插件:

      Publish Over SSH
      Gogs plugin
      Deploy to container

      Build Authorization Token Root Plugin

    #jenkins ---系统管理---全局工具配置

     

 

     ###新建一个maven项目,设置git仓库地址,并且使用jenkins本身的私钥进行验证

    

 

    ####选择对应自己想要的触发器

    

 

     

 

   3、tomcat设置管理帐户

    192.168.10.227 tomcat2

    vim /usr/local/tomcat2/conf/tomcat-users.xml

    #添加以下配置

<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="password" roles="admin-gui,admin,manager-gui,manager,manager-script,manager-jmx,manager-status"/>

    $vim /usr/local/tomcat2/conf/Catalina/localhost

    <Context privileged="true" antiResourceLocking="false"   
           docBase="${catalina.home}/webapps/manager">  
     <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />  
    </Context> 

  4、设置jenkins构建后操作,自动部署war到tomcat

  

 

 

三、测试远程触发自动构建war,并且发布

  1、访问 http://192.168.10.79:8080/job/etoppay-cron/build?token=123456 格式参考设置令牌提示

  

 

   2、可以看到已经自动构建成一个war,一个jar包,并且自动发布

    

 

 

    

以上是关于3 gogs+jenkins 触发远程构建及tomcat管理war包替换的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins之远程触发构建

Jenkins系列-Jenkins构建触发器

jenkins的触发远程构建时403或需要登录问题

jenkins+gogs,服务随代码更新

07-Jenkins-远程触发构建

Jenkins基础:Jenkins如何实现远程带参数触发构建?