Gitlab实战

  • Gitlab安装
  • Gitlab简单使用
  • 配置Jenkins 向 Gitlab 拉取代码
  • 配置gitlab 触发器

Gitlab安装

环境需求:
一台干净的新机器(防止端口冲突)
配置要求:
2U4G 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为 [gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
再执行 # yum install gitlab-ce -y # vim /etc/gitlab/gitlab.rb //修改配置文件,配置默认仓库地址
external_url 'http://10.3.148.212' # gitlab-ctl reconfigure //初始化启动
登入的管理员账号信息
用户:root
密码:/etc/gitlab/initial_root_password //该文件包含初始密码,初始密码有效期24小时

修改默认语言

修改初始密码

Gitlab 简单使用

创建仓库

推送公钥

gitlab机器生成一对公私钥
# ssh-keygen
# ls /root/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts # cat /root/.ssh/id_rsa.pub

Gitlab仓库的基本使用

# git clone git@10.3.148.212:gitlab-instance-a7157f42/myapp-test.git            //克隆代码仓库
# cd myapp-test/ # git config --global user.name "root"
# git config --global user.email root@localhost # echo "hello Qf" > index.html
# git add . //添加文件到暂存空间
# git commit -m "v1" //打上版本标签
# 位于分支 main
# 您的分支领先 'origin/main' 共 1 个提交。
# (使用 "git push" 来发布您的本地提交)
# # git push origin main //提交代码到主分支,main
ounting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 278 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@10.3.148.212:gitlab-instance-a7157f42/myapp-test.git
6117266..f3791c3 main -> main

配置Jenkins 向 Gitlab 拉取代码

1、在jenkins里创建任务 - > 自由风格任务  -> myapp-test

2、源码管理 -> 填写仓库地址  -> 添加凭据

3、构建 -> 执行shell命令 -> 发布项目到指定机器

# cat /root/http.sh
#!/bin/bash
host=10.3.148.201
ssh root@$host "yum install httpd -y"
ssh root@$host "rm -rf /var/www/html/*"
scp -r /root/.jenkins/workspace/demo/* $host:/var/www/html/
ssh root@$host "systemctl restart httpd"

4、立即构建 -> 查看控制台输出  -> 浏览器上访问  10.3.148.201

配置gitlab 触发器

1. 定时构建(Build periodically)
此时的定时构建是时间到达日程表所设置的时间后,就开始构建。此时不管前面源码管理处设置的分支是上的内容是否有变化都会开始构建。
例如:在日程表的白框里填写H/30 * * * *,表示每隔30分钟构建一次。 2. 轮循 SCM (Poll SCM)
这个也是定时构建,但不同的是在达到所设置的时间后,系统会去轮询设置的远程仓库是否有变化,有变化才构建。
例如:在日程表的白框里填写H/30 * * * *,表示每隔30分钟就检测一下远程仓库是否有变化,有变化就开始构建,没有变化则不构建。 3. Push事件触发
每当有人向GitLab仓库某分支(一般为master)成功的push代码时,立即触发构建。
选择"Build when a change is pushed to GitLab"这个选项。 在此介绍第三种情况
本例项目为spring 1. 安装GitLab插件
2. 安装好后在项目配置中找到构建触发器,可以看到增加了一个触发器

本案例: 以Push事件触发为例

1.钩选进入配置
设置需要跟踪变化的分支,根据上面的选项配置,可以是允许全部分支的变化触发构建,也可以设置只是具体的某些分支触发,这里示例是允许main分支上的变化触发构建

2.生成token:点击generate,会生成一个token

3.要想Gitlab上仓库有push事件发生时触发构建,还需要进一步的设置:
1).登录管理员帐号(root),设置允许请求钩子: network

4. 在Gitlab上配置webhooks

5. 当从新提交到代码仓库,jenkins会自动拉取代表并且构建

Linux_GItlab的更多相关文章

随机推荐

  1. py06

    元祖tuple 与列表类似可以存多个值,但是不同的是元祖本身不能被修改 #一:基本使用:tuple# 1 用途:记录多个值,当多个值没有改的需求,此时用元组更合适 # 2 定义方式:在()内用逗号分隔 ...

  2. 通过抓取pintpoint2的页面信息把数据存入数据库python3

    目标:对生产环境的服务质量进行量化, 解决办法:把pintpoint2里的数据转存入mysql数据库,作成报表,目前支持总请求数,错误请求数,中位数,平均数,95值(每分钟一次定时任务),其它指标可以 ...

  3. linux下项目自动化备份

    #! /bin/bash # 日期: 20220927 # 执行环境: 192.168.25.38 # 功能: 每周自动备份/data下"elasticsearch|project|soft ...

  4. onnxruntime源码解析之C接口实现

    onnxruntime的C接口,位置为include/onnxruntime/core/session/onnxruntime_c_api.h. 上述文件包含了C函数的声明,对应的实现在onnxrun ...

  5. Beginning IOS 7 Development Exploring the IOS SDK - Navigation Controllers and Table Views

    Note You may notice that the familyNames property is declared using the copy keyword instead of stro ...

  6. 互联网公司IT系统架构进化之路

    一日,与一高手在茶馆聊天.他问道:在鞋厂剑派这两年,可习的什么高深的剑法?我不由一愣,细细想来,这两年每日练习的都是简单的劈砍动作和一些简练的套路.并没有去练什么高深的剑法.不过鞋厂剑派在江湖上也算小 ...

  7. vs2019 常用数据结构 纯C语言 头文件实现 (持续更新改错中)单链表,

    1.单链表: 1 #pragma once 2 #ifndef _List_H 3 #include<stdio.h> 4 #include<stdlib.h> 5 #defi ...

  8. HDLbits——Mt2015 lfsr

    1.描述电路图里面的一个子模块 Assume that you want to implement hierarchical Verilog code for this circuit, using ...

  9. Vue 局部过滤器和全局过滤器

    Vue 过滤器总结: 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理) 语法: 1.注册过滤器: Vue.filter(name,callback) 或 new Vue{filt ...

  10. WPF侧边导航栏实现

    一.先看效果 1 添加Nuget库 站长使用.Net Core 3.1创建的WPF工程,创建"DropDownMenu"解决方案后,需要添加两个Nuget库:MaterialDes ...