Linux_GItlab
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的更多相关文章
随机推荐
- ucocIII野火
5.1裸机系统 5.1.1 轮询系统 轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情.轮询系统是一种非常简单的软件结构,通常只适用于那些只需 ...
- 36.201——LTE物理层——总体描述物理层综述协议
主要包括物理层在协议结构中的位置和功能,包括物理层4个规范36.211.36.212.36.213.36.214的主要内容和相互关系等 The radio interface is composed ...
- SpringCloud-Study
SpringCloud-Study 一.微服务简介 1.单体架构和分布式架构 单体架构 分布式架构 分布式架构的问题 解决方案 小结 2.微服务 微服务技术 微服技术对比 3.SpringCloud ...
- Golang-Study
Golang-Study-Note 参考教程视频:狂神说 https://www.bilibili.com/video/BV1ae41157o9?p=1&vd_source=793668372 ...
- linux的打开文件标志O_CLOEXEC
当没有这个标志,打开文件时,得到的fd, 将会被子进程继承,并且子进程会获得这个fd的读写能力. 往往父进程打开的文件,不希望子进程读写,所以,子进程启动之后,可以手动关闭fd. 但是关闭fd的操作不 ...
- D_GLIBCXX_USE_CXX11_ABI
gcc ABI兼容 设置=0,表示使用C++11之前的ABI 反之,使用C++11的ABI
- 取消Andorid设备的严格模式
在做文件拍照选择等应用时,发现7.0以上手机需要主动关闭严格模式才能让代码不报错 通过关闭严格模式绕过fileprovider 权限的控制的方法,绕过FileProvider在应用间共享文件的限制 7 ...
- qgis中的时间格式化函数
为方便自己查询,尤其是年月日等在不同编程语言直接的差异,就从官方doc中截图放这
- sublime json格式化
1. 插件安装 install package-->pretty json 2. 快捷键设置 设置(preference):热键设置 [ {"keys": ["al ...
- EasyUI异步Tree默认请求id获取不到问题
在做淘淘商城项目过程中,在新增商品-选择类目时,使用EasyUI的异步Tree功能,根据视频教程封装了一个common pojo--EUTreeNode对象,属性值取parentId(id).text ...