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包,并且自动发布