jenkins工具的介绍和gitlab安装

ops/2024/11/14 12:48:29/

使用方式

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

gitLab

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

gitlab_20">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
    登录后修改密码;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

 

gitlab_90">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.ppmy.cn/ops/108124.html

相关文章

lodash

下载npm i lodash //数据二次处理 const monthGroup useMemo(() > {//return 出去计算后的值return _.groupBy(billList, item > dayjs(item.date).format(YYYY-MM)) }, [billList]) 拿到当前月份 //单日统计列表 const dayGroup useMemo(() > {const group _.g…

HUAWEI华为MateBook B5-420 i5 集显(KLCZ-WXX9,KLCZ-WDH9)原装出厂Windows10系统文件下载

适用型号:KLCZ-WXX9、KLCZ-WDH9 链接:https://pan.baidu.com/s/12xnaLtcPjZoyfCcJUHynVQ?pwdelul 提取码:elul 华为原装系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、华为浏览器、Office办公软件、华为…

[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的

[趣味拓展]计算机语言起源_c语言诞生 🥋 回忆上次内容 上次了解了两个包 |包名|含义|作用| |time|时间|愣1秒| |os|操作系统|执行shell命令| 但是有个疑问 os(操作系统)是 用什么语言写 的?🤔 写os这个语言 运行在什么系统之上呢&am…

在Linux中从视频流截取图片帧(ffmpeg )

Linux依赖说明: 说明: 使用到的 依赖包 1. ffmpegsudo apt update sudo apt-get install ffmpeg2. imagemagick (选装) (检测图像边缘信息推断清晰度,如果是简单截取但个图像帧>用不到<)sudo apt-get install imagemagick备注: 指令及相关参数说明核心指令: (作用: 执…

【Linux】进程间的关系(第十三篇)

目录 1.亲缘关系&#xff1a; 2.进程组关系&#xff1a; 3.会话关系 4.进程、进程组与会话的关系 5.例子 1.亲缘关系&#xff1a; 2.进程组关系&#xff1a; 3.进程间会话关系 1.亲缘关系&#xff1a; 多个进程间可能存在亲缘关系&#xff08;多个进程间可能是父子进程…

深入解读Docker核心网络管理:架构、模式与通信机制

在容器化技术中&#xff0c;网络管理是影响容器通信和应用部署的重要组成部分。Docker不仅简化了应用的部署过程&#xff0c;还提供了强大的网络管理功能&#xff0c;确保容器之间以及容器与外部系统的网络通信能够高效、稳定地进行。 本文将深入解读Docker的核心网络管理原理…

OpenStack概论和部署

目录 1.1 云计算概述 1.1.1 什么是云计算 1.laaS 2.PaaS 3.Saas 1.1.2 0penStack 概述 1.OpenStack 起源 2.什么是 Openstack 3.OpenStack 优势 1.2 安装方式 1.2.1 在线安装 1.配置系统基本环境 2.为系统设置阿里的仓库 3&#xff1a;设置kvm源 4&#xff1a;设…

结构体小知识

目录 前言1.结构体数组1.1结构体数组理解1.2结构体数组知识运用1.3 -> 操作符 2. 知识拓展 前言 本期blog是对上一期指针知识的知识补充&#xff0c;如果各位大佬感兴趣的话&#xff0c;可以结合起来一起看&#xff01; 1.结构体数组 1.1结构体数组理解 结构体数组在本…