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
- 安装依赖项
# 更新所有的包、软件、系统内核
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配置
- 安装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
安装过程较慢,耐心等待,安装成功如下:
- 启动gitlab
安装成功即已启动
# 管理 gitlab服务 占用80端口,防止与nginx冲突
gitlab-ctl start/stop/restart/status/reconfigure
# 配置
vim /etc/gitlab/gitlab.rb
- web界面访问,打开浏览器,输入本地ip(如http://192.168.211.135)
账户:root
密码:在/etc/gitlab/xxx_password
登录后修改密码;
docker下安装gitlab
- 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
- 安装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项目,并提交代码
- 创建项目,点击new project
- 输入项目信息
项目名称、描述、公开/私有类型 - 配置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
题目链接:https://leetcode.cn/problems/count-number-of-teams/description/ 题目大意:给一个数组rating[],求符合以下任一条件的三元组i, j, k的个数 rating[i] < rating[j] < rating[k]rating[i] > rating[j] > rating[k] …...
Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法
最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如…...
数据库系统 第51节 数据库事务管理
数据库事务管理是数据库管理系统(DBMS)中用于确保数据完整性和一致性的一组机制。事务是一组不可分割的操作序列,这些操作要么全部成功,要么全部失败。以下是数据库事务管理的关键组成部分的详细叙述: 1. 事务隔离级别…...

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

二十三种设计模式之建造者模式(类比汽车制造厂好理解一些)
目录 1. 设计模式的分类 2. 定义 3. 建造者模式通常包含以下几个角色 4. 示例代码 5. 建造者模式的主要优点 1. 设计模式的分类 创建型模式(五种):工厂方法模式、单例模式、抽象工厂模式、原型模式、建造者模式。 结构型模式(七种):适配器模式、代…...
macos 系统文件操作时提示 Read-only file system 解决方法
这个情况是因为文件系统为只读, 需要我们执行一下命令重新将系统文件挂载为读写模式, 命令如下: sudo mount -uw / 这里的 mount 就是硬盘挂载命令, 后面的 -uw选项说明如下, 最后的 / 表示的是跟目录, 可以指定要修改的挂载路径,也可以默认. -u -u标志表示应更改已装载文…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...