当前位置: 首页 > news >正文

jenkins工具的介绍和gitlab安装

使用方式

  • 替代手动,自动化拉取、集成、构建、测试;
  • 是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项目,并提交代码

相关文章:

jenkins工具的介绍和gitlab安装

使用方式 替代手动,自动化拉取、集成、构建、测试;是CI/CD持续集成、持续部署主流开发模式中重要工具;必须组件 jenkins-gitlab,代码公共仓库服务器(至少6G内存);jenkins-server,需…...

【从0开始在CentOS 9中安装Tomcat】

从0开始在CentOS 9中安装Tomcat 1. 安装 Java(Tomcat 需要 Java 环境)2. 下载并安装 Tomcat3. 配置 Tomcat4. 启动 Tomcat5. 配置 Tomcat 为开机自启动6. 验证 Tomcat 运行状态7. 允许防火墙开放 8080 端口(可选) 要在 Linux 上安…...

学习Vue3的第五天

目录 API对比 shallowRef 与 shallowReactive 对比总结 使用场景 总结 readonly 与 shallowReadonly 对比总结 使用场景 总结 toRaw 与 markRaw 对比总结 使用场景 总结 customRef 应用场景 总结 示例:异步数据获取 Vue3新组件 Teleport Suspen…...

Python 类中使用 cursor.execute() 时语法错误的解决方法

在 Python 类中使用 cursor.execute() 时,出现语法错误(如 SyntaxError 或 SQL 语法相关错误)通常是因为 SQL 语句格式不正确、占位符使用不当,或参数传递方式不符合预期。以下是解决此类问题的常见方法和建议。 问题背景 在 Pyt…...

怎么选择靠谱AI论文生成工具?看完我的试用都会明白!

2024年上半年开始AI论文写作工具开始火了,层出不穷!作为一个经常需要写论文的懒人,我非常好奇这些AI工具的实际效果到底怎么样?为了测试不同工具的实力,我对他们都进行了试用,发现了一些意想不到的结果....…...

Java 每日一刊(第3期):Hello World

文章目录 前言Hello World程序是如何执行的Hello World 里有什么本期小知识 阳光洒进窗台,花香伴着书香,静谧而温暖,仿佛时光停驻。 前言 这里是分享 Java 相关内容的专刊,每日一更。 本期将为大家带来以下内容: “…...

git一个项目关联多个远程仓库

一行代码就行: git remote set-url origin [想要关联的远程仓库地址]想要关联哪个就切换哪个 或者不用每次切换,集中管理: Git->Manage Remotes 点击“”,填入Name和想要关联的远程库地址 每次push时执行命令 git push [为…...

衡石分析平台使用手册-部署前准备

部署前准备​ 1.根据版本获取 k8s 部署配置文件。 安装版本部署文件组件依赖3.xk8s-yamlmetadb、engine、hengshi zookeeper4.0.xk8s-yamlmetadb、engine、hengshi、minio、zookeeper4.1.xk8s-yamlmetadb、engine、hengshi、minio、redis、flink、zookeeper4.2.xk8s-yamlmeta…...

AI大模型全栈工程师课程笔记 - RAG 检索增强生成

文章目录 \1. RAG\2. 构建流程 2.1 文档加载与切分2.2 传统检索引擎2.3 LLM接口封装2.4 构建prompt \3. 向量检索\4. 向量数据库\5. 基于向量检索的RAG\6. 进阶知识 6.1 文本分割粒度6.2 检索后再排序6.3 测试 1. RAG RAG(Retrieval Augmented Generation&#…...

【时时三省】c语言例题----华为机试题<进制转换>

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 1,题目 HJ5 进制转换 描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。 数据范围:保证结果在 1≤n≤231−1 1≤n≤231−1…...

根据NVeloDocx Word模板引擎生成Word(四)

前面介绍了《E6低代码开发平台》的Word模版引擎NVeloDocx,实现了表单的基本字段、子表、单张图片、二维码、条形码怎么基于NVelocity脚本输出到Word文件,都是些比较简单且常用的需求。 本篇介绍怎么基于NVeloDocx在Word中插入图表,目前只支持…...

C++笔记---stack和queue

1. stack的介绍及重要接口 stack---栈,是一种“先进后出,后进先出”的数据结构。 此处的stack是STL库中定义的一个类模板,用于实例化出存储各种类型数据的栈。 bool empty() const;判断栈是否为空(空true/非空false)size_t size() const;返…...

springboot Rabbit MQ topic 配置文件绑定队列和交换机

Spring Boot 中如何将队列和交换机绑定(含实例讲解) 在使用 Spring Boot 开发高并发的秒杀系统或者其他场景时,RabbitMQ 是常用的消息队列中间件之一。本文将详细讲解如何在配置类中通过代码将队列与交换机绑定,并指定路由键来实…...

Visual Studio 2019密钥

Visual Studio 2019 Enterprise(企业版):BF8Y8-GN2QH-T84XB-QVY3B-RC4DF Visual Studio 2019 Professional(专业版):NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y...

【三元组枚举中点】【树状数组】个人练习-Leetcode-1395. Count Number of Teams

题目链接&#xff1a;https://leetcode.cn/problems/count-number-of-teams/description/ 题目大意&#xff1a;给一个数组rating[]&#xff0c;求符合以下任一条件的三元组i, j, k的个数 rating[i] < rating[j] < rating[k]rating[i] > rating[j] > rating[k] …...

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题&#xff0c;查了很多资料都大&#xff08;抄&#xff09;同&#xff08;来&#xff09;小&#xff08;抄&#xff09;异&#xff08;去&#xff09;的&#xff0c;解决不了根本问题&#xff0c;费了很大的劲终于得以解决&#xff0c;记录如…...

数据库系统 第51节 数据库事务管理

数据库事务管理是数据库管理系统&#xff08;DBMS&#xff09;中用于确保数据完整性和一致性的一组机制。事务是一组不可分割的操作序列&#xff0c;这些操作要么全部成功&#xff0c;要么全部失败。以下是数据库事务管理的关键组成部分的详细叙述&#xff1a; 1. 事务隔离级别…...

分解+优化+组合+对比!核心无忧!VMD-SSA-Transformer-LSTM多变量时间序列光伏功率预测

分解优化组合对比&#xff01;核心无忧&#xff01;VMD-SSA-Transformer-LSTM多变量时间序列光伏功率预测 目录 分解优化组合对比&#xff01;核心无忧&#xff01;VMD-SSA-Transformer-LSTM多变量时间序列光伏功率预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.…...

二十三种设计模式之建造者模式(类比汽车制造厂好理解一些)

目录 1. 设计模式的分类 2. 定义 3. 建造者模式通常包含以下几个角色 4. 示例代码 5. 建造者模式的主要优点 1. 设计模式的分类 创建型模式(五种)&#xff1a;工厂方法模式、单例模式、抽象工厂模式、原型模式、建造者模式。 结构型模式(七种)&#xff1a;适配器模式、代…...

macos 系统文件操作时提示 Read-only file system 解决方法

这个情况是因为文件系统为只读, 需要我们执行一下命令重新将系统文件挂载为读写模式, 命令如下: sudo mount -uw / 这里的 mount 就是硬盘挂载命令, 后面的 -uw选项说明如下, 最后的 / 表示的是跟目录, 可以指定要修改的挂载路径,也可以默认. -u -u标志表示应更改已装载文…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...