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

leonranri 2019-12-25

环境 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

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

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

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

二、gogs与jenkins设置

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

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

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

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

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

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

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

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

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

  插件:

    Publish Over SSH
      Gogs plugin
      Deploy to container

    Build Authorization Token Root Plugin

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

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

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

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

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

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

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

   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

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

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

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

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

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

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

  

相关推荐