jenkins工具的介绍和gitlab安装

news2024/12/27 11:03:29

使用方式

  • 替代手动,自动化拉取、集成、构建、测试;
  • 是CI/CD持续集成、持续部署主流开发模式中重要工具;
  • 必须组件
    • jenkins-gitlab,代码公共仓库服务器(至少6G内存);
    • jenkins-server,需要安装 jdk/maven;
    • test-server, 测试服务器;
  • 必备知识
    • shell脚本编写
    • java开发技能
    • ssh 使用
      在这里插入图片描述
       

gitLab

  • 安全一体化DevOps平台;
  • 网址
  • 安装指导
  • 企业内部使用的代码托管平台,类似的有github,gitee等开源的代码托管平台;
  • 以CentOS 7为例子(仅支持CentOS 的7版本)

linux下安装gitlab

  1. 安装依赖项
# 更新所有的包、软件、系统内核
sudo yum -y update    # upgrade只升级包 
# 安装 curl 网络工具
sudo yum install -y curl
# policycoreutils-python
sudo yum install -y policycoreutils-python 
# 安装 openssh-server
sudo yum install -y openssh-server
# 安装perl
sudo yum install -y perl

# 开机启动 sshd 服务
sudo systemctl enable sshd
sudo systemctl start sshd # 启动ssh服务

# 防火墙中打开http、https访问
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 重新加载防火墙配置
sudo systemctl reload firewalld

# postfix服务发送邮件
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

其他配置
其他SMTP配置

  1. 安装gitlab
# 方式1 配置gitlab的软件源(一般用户可能没有权限)
curl -L get.gitlab.cn | bash
# 方式2 配置gitlab的软件源 (一般用户可能没有权限)
curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

# 安装gitlab
sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-jh
# EXTERNAL_URL 映射本地ip 的域名,后续通过web访问gitlab服务
# vim /etc/hosts
# 192.168.211.135  gitlab.example.com

安装过程较慢,耐心等待,安装成功如下:
在这里插入图片描述

  1. 启动gitlab
    安装成功即已启动
# 管理 gitlab服务   占用80端口,防止与nginx冲突
gitlab-ctl start/stop/restart/status/reconfigure
# 配置
vim /etc/gitlab/gitlab.rb
  1. web界面访问,打开浏览器,输入本地ip(如http://192.168.211.135)
    账户:root
    密码:在/etc/gitlab/xxx_password
    登录后修改密码;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

 

docker下安装gitlab

  1. centOS 7 安装docker,需要root权限;
# 安装docker 内核在3.10以上
uname -r
sudo yum -y update

# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加docker仓库  yum-utils提供了yum-config-manager
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 使用docker自身的仓库,下载速度可能比较慢
# 也可以使用http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 查看docker 仓库中可以用的版本
yum list docker-ce --showduplicates

# 安装docker  也可以指定版本 如docker-ce-版本号
sudo yum install docker-ce docker-ce-cli containerd.io
# 出现TCP connection reset by peer 时  可能是网络连接问题,可以多次重试

# 启动docker
sudo systemctl enable docker # 开机启动
sudo systemctl start docker
docker version
# 查看本地的镜像
docker images  # -q 只显示id
  1. 安装gitlab
# --detach  -d  后台进程
# --hostname  绑定ip
# --publish -p 端口映射  宿主机端口:容器端口
# --name xxx 容器的名称
# --restart always  失败后重启
# --volume  -v 目录映射   宿主机目录:容器目录
docker run -d --hostname 192.168.0.101 -p 443:443 -p 80:80 --name gitlab \
--restart always -v $GTILAB_HOME/config:/etc/gitlab:z -v $GITLAB_HOME/logs:/var/log/gitlab:z -v $GITLAB_HOME/data:/var/opt/gitlab:z \
registry.gitlab.cn/omnibus/gitlab-jh:latest # 使用镜像

# docker search gitlab-jh
# docker pull gitlab-jh  直接拉取会被拒绝


# 查看所有的容器
docker ps -a
# 启动容器
docker start gitlab
# 登录到容器
docker exec -it gitlab /bin/bash
# 查看gitlab状态
gitlab-ctl status

此时可以在宿主机下登录gitlab,如果报错502则等待、刷新…
账号:root
密码:容器下/etc/gitlab/initial_root_password

 

客户端提交代码

gitlab就是一个代码托管平台,使用方式同github、gitee、codehub等

创建一个python项目,并提交代码

  1. 创建项目,点击new project
    在这里插入图片描述
  2. 输入项目信息
    项目名称、描述、公开/私有类型
  3. 配置ssh 公钥
    在自己电脑上生成ssh公钥、私钥:
ssh-keygen -t tsa -C "description"

# 家目录下.ssh目录
# id_rsa 私钥
# id_rsa.pub 公钥,将公钥添加到gitlab

点击如下"Add SSH key":
在这里插入图片描述
或者如下编辑profile
在这里插入图片描述

在这里插入图片描述
4. 个人开发者账号注册
除了root管理员外,其他开发者也要在gitlab注册自己的个人账号,且管理员同意后,个人账号才可以登录!
在这里插入图片描述
在这里插入图片描述
5. 项目管理员可以邀请其他成员加入项目;
在这里插入图片描述
邀请后,个人开发者可以看到对应的项目!然后fork到个人仓库,从个人仓库clone到本地;
在这里插入图片描述

 
克隆方式:http / ssh

# http 克隆方式
git clone http://192.168.0.101/jack/lauf_py_project.git
# username: jack   需要输入gitlab账号和密码
# password: xxxx

# ssh 克隆方式
ssh-keygen -t rsa  # 生成秘钥
复制cat ~/.ssh/id_rsa.pub 内容
# 在gitlab profile > ssh key中配置公钥,粘贴

# 本地账户配置
git config --global user.name "jack"
git config --global user.email "xx@qq.com"
# 克隆
git clone git@192.168.0.101:jack/lauf_py_project.git

# 若仍需要密码,则配置ssh失败,如下:
[laufing@localhost ~]$ git clone git@192.168.0.101:jack/lauf_py_project.git
Cloning into 'lauf_py_project'...
git@192.168.0.101's password: 

创建一个java项目,并提交代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LoRa】对TX与RX的TOA时间的理解

目录 1 前言2 解释说明3 延申-计算TOA 1 前言 大家可能已经知道在射频传输中,TOA(Time on Air)是指本包传输所需时间。本章主要来讨论如何理解这段时间,并从发送端和接收端一起来理解。本章是基于LoRa所做的测试,但我…

OutBrain原生广告新赛道助力欧美流量变现优势与实战策略

揭秘欧美流量变现新蓝海:OutBrain原生广告的优势与实战策略 在数字化时代,流量即金钱的观念深入人心,尤其是对于欧美市场而言,高效、精准的流量变现策略成为了众多网站主、博主及内容创作者关注的焦点。OutBrain,作为…

凭什么要买净水器?

近年来,购买净水器的人越来越多,净水器似乎成了一件必不可少的家电。 但仍有部分人保持着传统的观念,认为喝自来水烧开的白开水是最健康的,净水器都是商家炒作出来的,不可信。 可事实是这样吗?其实你家水…

多语言ASO – 本地化的10个技巧

ASO优化是一个复杂的领域,即使你只关注讲英语的用户。如果您想面向国际受众并在全球范围内发展您的应用程序业务,您必须在App Store和Google Play Store上本地化应用程序的产品页面。不过,应用程序商店本地化的过程也有很多陷阱。 应用商店本…

U盘数据恢复秘籍:四款软件的亲测推荐!

U盘作为便捷的存储工具被广泛使用,但随之而来的是数据丢失的风险。面对U盘中的宝贵资料不慎丢失,如何高效、安全地恢复成为关键。推荐几款亲测好用的U盘数据恢复软件! 第一款:福昕数据恢复 直达链接:www.pdf365.cn/f…

elementui Cascader 级联选择器的使用总结

实现效果 技术要点总结如下: 1、点击添加自动增加多行,实现自主选择增加多条节点数据 2、节点地址使用的是Cascader 级联选择器,需要动态生成,涉及到一个技术要点是:因v-modal只能获取value不能获取label,故…

CCF编程能力等级认证GESP—C++7级—20240907

CCF编程能力等级认证GESP—C1级真题 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)小杨寻宝矩阵移动 单选题(每题 2 分,共 30 分&…

Spring AOP,通知使用,spring事务管理,spring_web搭建

spring AOP AOP概述 AOP面向切面编程是对面向对象编程的延续(AOP (Aspect Orient Programming),直译过来就是 面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。) 面向切面编…

开放系统,面向各类业务需求可提供定制化服务的智慧物流开源了

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。构建基于Ai技术的…

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接&…

性能测试工程师必须掌握的诊断工具及应用实例

“工欲善其事,必先利其器”,那么作为一名性能测试工程师需要了解到的诊断工具有哪些呢?在实际工作中要怎么去应用呢? 1、应用层报文抓取工具-HTTPWatch 快速定位请求、响应时间 快速查找请求、响应完整HTTP报文 快速定位请求、…

1、程序如何生成和运行

程序如何生成和运行 一、生成可执行文件1、 源文件2、 预处理:g -E hello.cpp -o hello.i //将头文件,宏定义等替换到源文件3、 编译:g -S hello.i -o hello.s // 生成汇编代码4、 汇编:g -c hello.s -o hello.o // 生成二进制目标…

【区块链 + 基层治理】链动社区:基于 FISCO BCOS 的智慧社区数字化治理平台 | FISCO BCOS应用案例

“链动社区——基于 FISCO BCOS 的智慧社区数字化治理平台”是智慧社区治理服务一套完整系统,通过使用 FISCO BCOS 联盟链方案进行社区数据管理(积分交易数据和行为数据等)、对社区工作进行数字化支持,激发社区治理的多元主体参与…

Linux相关概念和重要知识点(1)(交互方式、存储结构、定位方式)

1.Linux是什么? Linux是一款继Unix之后开发的一款开源操作系统。 操作系统是基础性系统软件,是人机交互的一个媒介,我们日常使用的Windows、iOS、Android都是操作系统,用户都是和操作系统打交道的。像Windows、iOS是闭源的&…

【西电电装实习】流水灯(高级贴片焊接练习)

前言 说明书 左边实现流水,右边实现灯,灯与灯之间独立 此练习板具有功能 注意事项 不能焊错芯片,会影响功能先焊右侧比较好焊的用万用表检测电路质量 引脚序号 有圆点是第一个脚,然后逆时针按自然数顺序标引脚

随手记:uniapp小程序登录方式和小程序使用验证码登录

小程序登录方式&#xff1a; 方式一&#xff1a;小程序授权登录 通过uni.login获取 临时登录凭证code&#xff0c;向后端换取token。 <u-button type"primary" shape"circle" click"login">登 录</u-button>login() {uni.login({p…

零基础国产GD32单片机编程入门(十六)DMA详解及ADC-DMA方式采集含源码

文章目录 一.概要二.GD32F103C8T6单片机DMA外设特点三.GD32单片机DMA内部结构图四.DMA各通道请求五.GD32F103C8T6单片机ADC-DMA采集例程六.工程源代码下载七.小结 一.概要 基本概念&#xff1a; DMA是Direct Memory Access的首字母缩写,是一种完全由硬件执行数据交换的工作方式…

QML学习三:qml设计器报错 Line: 0: The Design Mode requires a valid Qt kit

开发环境:Qt 6.5.3 LTS 1、Qt 6.5.3 LTS 2、Pyside6 3、Python 3.11.4 4、win11 默认不打开设计器的时候可以看到我们默认是有Python的环境,而且点击运行是可以运行的。但是当打开qml设计器时提示下面这个错误,提示需要一个可用的套件。 解决办法: 点击+号创建新的套件…

迈向新一代星地融合的高速测试解决方案

一、面向未来下一代通信技术的射频测试挑战 移动通信网络的发展如下图所示&#xff0c;1G时代用模拟信号传输&#xff0c;实现了语音传输业务&#xff1b;2G时代&#xff0c;数字传输取代了模拟传输&#xff0c;人们能够使用手机短信和手机上网&#xff1b;3G时代&#xff0c;…

推动生态系统架构创新与可持续发展的关键引擎——The Open Group 2024年度大会全解析

在当今快速变化的数字化转型浪潮中&#xff0c;开放标准正逐渐成为推动企业创新和生态系统架构发展的重要力量。为了帮助企业在实现可持续发展的道路上加速推进&#xff0c;The Open Group 2024生态系统架构与可持续发展年度大会将为架构师、技术专家以及企业CIO、CTO提供一个深…