首页 > 其他分享 >使用gitlab+jenkins实现本地推送到仓库并且自动更新到线上

使用gitlab+jenkins实现本地推送到仓库并且自动更新到线上

时间:2023-03-02 11:36:50浏览次数:52  
标签:脚本 rsync xxx 项目 gitlab 到线 自动更新 jenkins

1、安装好gitlab服务(不详细介绍)

2、安装好jenkins服务(不详细介绍)

gitlab配置

在gitlab上进入要操作的项目,在左边的菜单栏上找到这个配置,【设置-Webhooks】

 网址:从jenkins上对应的项目获取

Secret 令牌:从jenkins上对应的项目获取

触发来源:这里我们选择【推送事件】也就是我们常用的push,还可以指定分支名称,默认是主分支master,其他的配置可以根据项目实际情况自行设置。

设置完成,然后保存即可。

jenkins配置

新建项目,输入名称,选择自由风格的项目类型

 切换到【源码管理】选项卡,选择Git选项,输入gitlab项目的地址,建好凭证,默认master分支

 切换到【构建触发器】选项卡,选择如下图,可以看到这里有个地址,这个地址就是填到gitlab webhook配置里面的地址

 点击高级按钮,可以看到【Secret token】这个选项,后面有个生成的按钮,点一下生成Secret 令牌,然后配置到gitlab webhook配置里面的Secret 令牌的地址即可

 切换到【构建环境】选项卡,选择【Execute shell】模式,下面输入要执行的脚本路径,语法:sh /data/deploy/h5sdkDeploy.sh 参数,保存即可。

 脚本文件内容如下:

#!/bin/sh
#--------------------------------------------------
#
# 项目部署脚本
#
#--------------------------------------------------

#exit;
source=$1

function run_rsync(){
  #if [ $# != "1" ];then
#    echo '需要指定同步目录'
 #   exit
  #fi
  #echo $source;exit;
  rsync -avz --exclude="assets" --exclude="runtime" --exclude=".git"  /var/lib/jenkins/workspace/项目目录/* [email protected]::$source --password-file=/data/deploy/rsync-h5sdk.password
}
run_rsync

脚本说明:

1、【/var/lib/jenkins/workspace/项目目录/*】我gitlab仓库所在服务器的项目路径,*号表示项目目录下的全部文件

2、脚本里面的xxx.xxx.xxx.xxx是我线上服务器的IP地址,这里还用到一个rsync的同步服务,下次会写如何配置rsync服务

3、$source就是执行脚本的时候传进来的参数,当然了这个参数也可以写死在脚本里面的

4、【/data/deploy/rsync-h5sdk.password】执行rsync服务的时候,线上服务器的验证密码文件

gitlab上的推送记录

jenkins上的同步记录

标签:脚本,rsync,xxx,项目,gitlab,到线,自动更新,jenkins
From: https://www.cnblogs.com/firstlady/p/17171177.html

相关文章

  • 关于本地项目上传到gitlab
    两种方式的说明,如果是以学习的目的,建议使用第一种方式;如果是为了快速把代码上传到gitlab,建议使用第二方式;查看git配置的命令,注意:不同的目录,配置项也不尽相同:gitconfig--......
  • idea关闭自动更新
    File|Settings|Appearance&Behavior|SystemSettings|Updates,如图去掉勾选:......
  • 自动化框架搭建(Gitlab CI运行Robot Framework)(待更新完善......)
     搭建并使用自动化框架,整体上一般需要完成以下五部分内容: 一、安装Gitlab仓库管理系统 二、安装Gitlab-runner运行工具 三、注册Gitlab-runner(需要填写Gitlab......
  • waf2 开发分录里面的最后的合计不会自动更新,貌似是个bug。变通处理
    afterSaveCell:function(rowid,cellname,value,iRow,Col,oldValue){if(cellname=="moneyyuan"){waf("#editGrid").wafGrid('calcFooterData');//刷......
  • GitLab使用管理 -- 系列文章
    分类 -  Gitlab配置Gitlab使用LDAP认证Gitlab-通过API管理问题Gitlab-使用其它API资源GitlabWebhooks,ExternalServices,andAPI(二)Gitlab-通......
  • 上传gitlab代码后jenkins自动进行发布的配置
     1、安装​​GitLabPlugin​​​和​​GenericWebhookTriggerPlugin​​两个插件2、要在gitlab生成一个访问api的token 3、在jenkins的系统管理里找到下面界面进行输......
  • GitLab的使用之拉取分支
    前言:企业实际开发中,有些时候可能需要你自己去拉取相应的分支,然后再上面开发,开发完成后再合并到相应的分支中。GitLab上拉取需要的分支步骤如下:1.选择一个......
  • Gitlab 添加 SSH-key
    使用SSH协议传输文件的时候,需要把SSHClient端的密钥放到Server端中,因此需要在本地机器把生成的SSHKey复制到Gitlab中,这样就可以使用SSH协议在Gitlab上clo......
  • 一次 gitlab 升级失败的处理过程记录
    这次升级是从15.8.3升级至15.9.1,通过下面的rpm安装命令进行升级rpm-Uvhgitlab-ce-15.9.1-ce.0.el7.x86_64.rpm升级过程中卡在gitlab::database_migrations很......
  • Gitlab 设置页面语言为简体中文
    1.用户登录,点击头像,再点击Preferences2.向下滑动,找到 Localization,进行修改,并保存3.刷新页面,就更改成简体中文了    出处:https://blog.csdn.net/m0......