jenkins工具的介绍和gitlab安装

news/2024/11/9 16:42:53/

使用方式

  • 替代手动,自动化拉取、集成、构建、测试;
  • 是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/news/1524534.html

相关文章

Pikachu靶场之RCE漏洞详解

一.exec "ping" 1.ping本机127.0.0.1 2.用&符拼接dir查看目录 3.&拼接echo输入一句话木马 127.0.0.1&echo "<?php eval($_POST[cmd]);?>)" > 6.php 4.同级目录访问6.php&#xff0c;蚁剑连接 二&#xff1a;exec "eval"…

Python中的`set`和`frozenset`的区别

在Python中&#xff0c;set和frozenset是两种用于存储不重复元素的数据结构&#xff0c;它们都属于集合&#xff08;Set&#xff09;类型&#xff0c;但在使用场景、功能特性和性能表现上存在一些关键的区别。 1. 基本概念 set set是Python中的一个内置数据类型&#xff0c;…

滑动窗口——优选算法

个人主页&#xff1a;敲上瘾-CSDN博客 个人专栏&#xff1a;游戏、数据结构、c语言基础、c学习、算法 目录 一.滑动窗口算法原理&#xff1a; 二.无重复字符的最长子串 1.题目解析​编辑 2.算法原理 3.代码编写 三.长度最小的子数组 1.题目解析 2.算法原理 3.代码编…

太能装了,国内有没有二本恋综?

9月&#xff0c;国内头部恋综IP节目《心动的信号第七季》开播。然而&#xff0c;与恋爱甜度相比&#xff0c;嘉宾们的“装”感却率先成为了舆论焦点。 事件起因为首集嘉宾初次会面时&#xff0c;为塑造精英形象太过刻意的行为举止。 其中&#xff0c;最具代表性的场景来自于&…

JDBC详细知识点和操作

javaweb的作用&#xff0c;属于中间者&#xff0c;负责逻辑处理 这三部分互相协作组成了网页 javaweb也就是这三部分 一.数据库部分&#xff08;略&#xff09; 二.javaweb程序 1.JDBC 概念&#xff1a;通过java代码操作数据库 数据库种类有很多&#xff0c;比如Oracle&a…

爬虫3:re正则表达式获取数据

在上一章中&#xff0c;我们基本上掌握了抓取整个网页的基本技能.但是呢&#xff0c;大多数情况下&#xff0c;我们并不需要整个网页的内容,只是 需要那么一小部分&#xff0c;怎么办呢&#xff1f;这就涉及到了数据提取的问题. 本课程中&#xff0c;提供三种解析方式&#xff…

【2025】基于Python的空气质量综合分析系统的设计与实现(源码+文档+调试+答疑)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Excel如何设置不能复制里面内容?学学工作表保护功能

大家好&#xff0c;这里是效率办公指南&#xff01; &#x1f4ca; 在这个信息爆炸的时代&#xff0c;数据安全变得尤为重要。Excel文件中的数据往往包含了敏感信息&#xff0c;如何确保这些数据不被未经授权的人复制&#xff0c;成为了我们日常工作中的一个挑战。今天&#x…