天天看点

【jenkins】Jenkins & GitLab WebHook 实现自动部署

目录

          • 摘要
          • 前置条件
          • Jenkins新建任务
            • 创建maven项目
            • 添加描述 & 配置构建规则
            • 配置Git源码地址和分支
            • 关键=>配置构建触发器
            • 配置Build参数
            • 配置构建后操作(可选)
          • GitLab WebHook配置
          • 测试
摘要

以新建maven项目,部署到远程tomcat服务器为例。

前置条件
  • 服务器已安装完成Jenkins,Linux安装Jenkins
  • Jenkins用户设置为root,默认用户为jenkins,在执行脚本和替换文件会提示权限不足
    • centeros:(可参考:https://www.jianshu.com/p/fa546f723724)
    • ubuntu
      • vi /etc/default/jenkins
      • 修改所属用户:
        JENKINS_USER=$NAME=>JENKINS_USER=root
        JENKINS_GROUP=$NAME =>	JENKINS_GROUP=root 
                   
      • 修改权限
        chown -R root:root /var/lib/jenkins/
        chown -R root:root /var/log/jenkins/
        chown -R root:root /var/cache/jenkins/
                   
      • service jenkins restart
Jenkins新建任务

创建maven项目

【jenkins】Jenkins & GitLab WebHook 实现自动部署

注:如果没有该选项,则需要下载对应插件

添加描述 & 配置构建规则

丢弃旧的构建:

保持构建的天数3和保持构建的最大个数5,避免因为时间关系导致磁盘占用过大。

【jenkins】Jenkins & GitLab WebHook 实现自动部署

配置Git源码地址和分支

【jenkins】Jenkins & GitLab WebHook 实现自动部署

关键=>配置构建触发器

  • 勾选

    Build when a change is pushed to GitLab. GitLab webhook URL: http://xxxxx/test

    ,URL即为需要配置到Git服务器的地址
  • 点击

    高级

    选项,配置

    分支过滤规则

    Secret token

    【jenkins】Jenkins & GitLab WebHook 实现自动部署
【jenkins】Jenkins & GitLab WebHook 实现自动部署

配置Build参数

【jenkins】Jenkins & GitLab WebHook 实现自动部署

配置构建后操作(可选)

如果是配置打包生成路径直接为web服务器部署所需目录,则无需此配置,eg:

<!--指定名称ROOT和目录-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>ROOT</warName>
                    <archiveClasses>true</archiveClasses>
                    <!--指定ROOT包生成目录-->
		            <outputDirectory>/opt/tocmat/webabb</outputDirectory>
                </configuration>
            </plugin>
           
【jenkins】Jenkins &amp; GitLab WebHook 实现自动部署
GitLab WebHook配置

配置在Jenkins构建触发器配置中获取的URL和Secret Token参数

【jenkins】Jenkins &amp; GitLab WebHook 实现自动部署
测试
  • 修改代码
  • master分支push到远程
  • 查看jenkins控制台如下:
    【jenkins】Jenkins &amp; GitLab WebHook 实现自动部署
  • 测试成功

以后正常开发使用非master分支,需要更新远程服务器时,指定人员使用master分支push即可触发自动部署。