CI/CD持续集成与持续交付(上)-------- git,gitee远程共有仓库和gitlab私有仓库,jenkins

本文介绍了Git的使用,包括git简介、工作流程和核心概念,以及如何结合GitHub/Gitee远程仓库。接着,文章详细阐述了如何搭建GitLab私有仓库,以及 Jenkins 的安装、插件配置、项目创建与自动构建,实现与GitLab的Webhook集成,自动构建镜像并上传至本地和Harbor仓库。
摘要由CSDN通过智能技术生成

一、git工具使用

git简介

详细简介:https://blog.csdn.net/ThinkWon/article/details/94346816

Git理解

  • Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  • Git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  • Git与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

分布式版本控制系统
在这里插入图片描述

Git特点

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)。

  • 已修改表示修改了文件,但还没保存到数据库中。
  • 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
  • 已提交表示数据已经安全地保存在本地数据库中。

这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录
在这里插入图片描述

Git工作流程

一般工作流程如下:

从远程仓库中克隆 Git 资源作为本地仓库;
从本地仓库中checkout代码然后进行代码修改;
在提交本地仓库前先将代码提交到暂存区;
提交修改,提交到本地仓库;本地仓库中保存修改的各个历史版本;
在需要和团队成员共享代码时,可以将修改代码push到远程仓库。

Git 的工作流程图如下:
在这里插入图片描述

Git的四个核心概念

工作区、暂存区、版本库、远程仓库
在这里插入图片描述Workspace: 工作区,就是你平时存放项目代码的地方

Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

git使用

安装Git:

在这里插入图片描述
获取 Git 仓库:

  • 将尚未进行版本控制的本地目录转换为 Git 仓库。
  • 从其它服务器克隆 一个已存在的 Git 仓库。比如: git clone

初始化版本库:

demo目录初始化为git仓库,代码库.git,demo目录为工作区

mkdir demo
git init

在这里插入图片描述
纯文本文件会放在版本库!!!(如yaml文件,word不是纯文本文件)

创建测试文件,README.md,查看状态 ??,表示不在版本库中

将工作区文件README.md添加到暂存区,查看状态 A,表示此时已经在暂存区中
在这里插入图片描述
将暂存区的文件README.md提交,默认提交的是整个暂存区的数据,不只是刚才的文件,提交后在主分支中
在这里插入图片描述
第一次提交需要设置 用户名和邮箱!!!,重新提交,查看状态,此时提交成功
在这里插入图片描述
修改工作区的文件,查看状态,M为红色,靠右显示,M:已修改

检查当前文件状态
$ git status
$ git status -s		//简化输出

在这里插入图片描述
重新add添加到缓存区,查看状态,M为绿色,靠左显示,表示已经提交至暂存区
在这里插入图片描述
全部提交,此时使用update,查看全部提交后的状态,提交成功 !!!
在这里插入图片描述
文件中追加内容后查看,M为红色,靠右显示,M:已修改
在这里插入图片描述
checkout:撤销,再次查看文件内容,恢复到追加前状态
在这里插入图片描述
继续vim编辑md文件,查看状态为 M红色,靠右,重新add添加至缓存区,查看状态为 M绿色,靠左
在这里插入图片描述
再次追加内容至md文件中,此时查看状态,两个M颜色不同,左边绿色M表示:(1和2行的)已经提交暂存区,右边红色M表示:第三行内容在工作区,未提交至缓存区域

M(右)工作区,左(暂存区)

重新添加,查看状态,此时都已在缓存区中!!!
在这里插入图片描述
重置暂存区的指定文件,恢复文件至工作区状态,checkout:撤销,恢复文件至上次工作区文件内容
在这里插入图片描述
.gitconfig 查看配置信息可以看到设定的用户和邮箱信息

在这里插入图片描述

忽略隐藏文件

创建隐藏文件和目录:纯目录不会发现,目录里有文件才会关注

在这里插入图片描述
查看隐藏文件和目录的状态 ??

编辑.gitignore,.*表示忽略所有隐藏文件,/test:只忽略当前目录下的test文件 build/: 忽略任何目录下名为 build 的文件夹
在这里插入图片描述
md文件中追加内容,commit -a -m:两步和为一步,add+commit,查看状态,成功提交
在这里插入图片描述

git log 显示当前分支的版本历史
在这里插入图片描述

移除文件

(1)直接 rm 删除文件,使用 checkout 撤销,可恢复文件

此时是工作区删除,但是暂存库中未删除

在这里插入图片描述在这里插入图片描述
(2)git rm 删除文件reset+checkout 可恢复文件

暂存区删除

在这里插入图片描述在这里插入图片描述在这里插入图片描述
(3)git rm + commit delete 删除文件,
版本库删除
在这里插入图片描述在这里插入图片描述

git reflog 版本回退 ,git reset 指定版本,恢复文件

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitLab-CI/CD可以很方便地集成Dependency-Check来实现依赖扫描。下面是具体的集成步骤: 1. 安装Dependency-Check 首先需要安装Dependency-Check工具。可以到官网下载对应的软件包,然后解压到任意目录即可。 2. 配置GitLab-CI/CD 在项目的根目录下创建一个名为`.gitlab-ci.yml`的文件,并添加以下内容: ``` image: maven:3.6.3-jdk-11 stages: - build - test - dependency-check before_script: - mvn --version build: stage: build script: - mvn clean package test: stage: test script: - mvn test dependency-check: stage: dependency-check script: - wget https://dl.bintray.com/jeremy-long/owasp/dependency-check-5.3.2-release.zip - unzip dependency-check-5.3.2-release.zip - cd dependency-check-5.3.2-release/bin - ./dependency-check.sh --project "My Project" --scan ./../../target/*.jar --out ./../../dependency-check-report artifacts: paths: - dependency-check-report ``` 以上配置文件定义了三个阶段:build、test和dependency-check。其中,build和test阶段是项目的编译和测试阶段,dependency-check阶段是依赖扫描阶段。在dependency-check阶段中,我们下载并安装了Dependency-Check工具,并使用它来扫描项目的依赖关系。扫描结果将以HTML报告的形式保存在`dependency-check-report`目录下。 3. 提交并运行Pipeline 将`.gitlab-ci.yml`文件提交到项目的Git仓库中,并在GitLab上开启CI/CD功能。然后,就可以运行Pipeline了。Pipeline运行结束后,可以在GitLab的Pipeline页面查看扫描结果。 以上就是集成Dependency-Check的具体步骤,希望可以帮到你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值