实验二:Git用法练习 & 实验五:CI/CD流水线的用法练习

实验二:Git用法练习

介绍

Git 是目前最流行的版本控制系统,它能够帮助开发者高效地管理代码版本,特别是在团队协作中,Git 的优势尤为明显。而在 Git 使用过程中,我们通常需要有一个 Git 仓库托管平台来存储和管理我们的代码。GitHub、GitLab 和 Bitbucket 是常见的 Git 托管平台,但如果你希望自己搭建一个 Git 仓库托管平台,可以使用 DevStar,这是一个简单易用的 Git 服务器。

在本篇文章中,我将展示如何搭建 Git 仓库托管平台,并通过一个实际项目演示从创建 Git 仓库到发布版本的整个流程。

步骤 一:搭建 Git 仓库托管平台

1.1 安装 WSL (Windows Subsystem for Linux)

首先,确保你已安装并配置了 WSL 2。你可以通过以下命令来自动安装 Ubuntu 20.04。

1)打开 cmd 或 PowerShell,运行以下命令安装 WSL 和 Ubuntu 20.04:

wsl --install -d Ubuntu-20.04

如果这条命令无法自动完成,你可以手动执行以下两条命令来启用必要的功能:

2) 启用 WSL 和虚拟机平台:

dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /LimitAccess /All
dism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All /LimitAccess

这些命令将启用 Windows 上的 WSL 和虚拟机平台支持。
在这里插入图片描述

3)安装 Ubuntu 20.04:
如果上述命令成功,你就可以在 Microsoft Store 下载并安装 Ubuntu 20.04

1.2 安装 DevStar

在 WSL 环境下完成 Ubuntu 20.04 安装后,使用以下命令在 Ubuntu 上安装 DevStar。

1)在 Ubuntu 终端中执行以下命令以下载和安装 DevStar:

wget -c https://devstar.cn/assets/install.sh && chmod +x install.sh && sudo ./install.sh

2)执行 devstar 命令来验证 DevStar 是否安装成功:

devstar help

这会显示 DevStar 的帮助信息,其中包含可用的命令和选项。

1.3 启动 DevStar

一旦安装完成,你可以使用以下命令来启动 DevStar:

sudo devstar start

在这里插入图片描述

DevStar 将在 http://localhost:8080 上运行,你可以在浏览器中访问这个地址来使用 DevStar。
在这里插入图片描述

步骤二:创建 Git 仓库

搭建好 Git 仓库托管平台之后,接下来是创建一个 Git 仓库,并开始管理代码。

2.1 创建 Git 仓库

在这里插入图片描述

2.2 在本地创建 Git 仓库
  1. 创建一个新的文件夹并进入:

    mkdir myproject
    cd myproject
    
  2. 初始化 Git 仓库:

    git init
    
  3. 创建一个文件并提交:

    echo "# My Project" > README.md
    git add README.md
    git commit -m "Initial commit"
    

在这里插入图片描述

步骤三:将本地仓库推送到远程 Git 仓库

现在,已经在本地创建了 Git 仓库,接下来需要将这个仓库推送到远程 Git 服务器上,以便其他团队成员可以访问和协作。

3.1 添加远程仓库

需要将远程仓库的 URL 添加到本地仓库中,指向你在 DevStar 上创建的仓库。

git remote add origin http://localhost:8080/zhian/myproject.git
3.2 推送本地仓库

将本地仓库推送到远程仓库,推送时需要使用 -u 选项来设置默认的远程分支:

git push -u origin master

在这里插入图片描述


步骤四:发布版本并创建标签

Git 通过标签(Tag)来标记发布的版本。下面是如何在 Git 中创建标签并推送到远程仓库。

4.1 创建版本标签

创建一个新的版本标签 v1.0,并附带注释。

git tag -a v1.0 -m "First release"
4.2 推送标签

将标签推送到远程仓库,以便其他团队成员能够看到这个版本。

git push origin v1.0

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


步骤五:总结与反思

在这篇博客中,我通过一个实际的操作,展示了如何搭建 Git 仓库托管平台、创建本地 Git 仓库、推送到远程仓库以及发布版本。使用 Git 和版本控制系统能够极大提高开发效率,尤其是在团队协作和代码管理方面,Git 的优势非常明显。

通过搭建自己托管的 Git 仓库平台,可以更好地掌控自己的代码管理流程,并且避免将代码托管到第三方平台所带来的隐私和安全问题。

结语

如果你正在开发一个个人或团队项目,使用 Git 来管理版本是非常重要的,而搭建一个自己的 Git 仓库托管平台则能够让你更加灵活地管理代码。如果你在搭建过程中遇到任何问题,欢迎留言交流。


实验五:CI/CD流水线的用法练习

一、实验背景与意义

在现代软件开发中,CI/CD(持续集成/持续交付)已成为团队协作和高效开发的标配。它能让每一次代码提交都自动完成编译、测试、检查和部署,极大降低了人为失误,提高了交付效率和代码质量。

本实验以DevStar平台为基础,结合一个简单的Java Maven项目,体验从代码提交到自动化构建、测试的完整流水线流程。


二、实验目标

  • 熟悉DevStar(Gitea)平台的CI/CD功能
  • 掌握Java项目流水线脚本的编写方法
  • 实现代码提交后自动编译、测试和产物输出
  • 能分析流水线日志,排查常见问题
  • 为后续自动部署、代码质量检查等进阶打下基础

三、实验环境准备

1. DevStar平台

DevStar是一个自建的Git仓库托管平台,内置Gitea Actions,支持与GitHub Actions类似的CI/CD流水线。
本实验已在本地部署好DevStar,并确保Actions Runner在线。

2. Java项目结构

本实验以最基础的Maven Java项目为例:

myproject/
├── pom.xml
└── src/
    └── main/
        └── java/
            └── Hello.java

pom.xml为Maven配置文件,Hello.java为主类。

3. 代码上传

项目已通过如下命令上传到DevStar:

git init
git add .
git commit -m "初始化Java项目"
git push -u origin master

四、CI/CD流水线配置与讲解

1. 新建流水线脚本

在项目根目录下新建.gitea/workflows/ci.yaml

mkdir -p .gitea/workflows
vim .gitea/workflows/ci.yaml
2. 脚本内容与分步说明
name: DevStar Studio CI Pipeline - dev branch

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  build-and-push-x86-64-docker-image:
    name: Build and Push x86-64 Docker Image
    runs-on: ubuntu-latest
    steps:
      # 拉取最新代码
      - name: 🔍 Check out repository code
        uses: actions/checkout@v3

      # 编译并测试
      - name: 🛠️ Test Codes and Build an Artifact
        run: mvn clean package

      # 推送镜像到仓库
      - name: 🚀 Push Artifact to devstar.cn and docker.io Registry
        run: |
          echo "Push image to registry"
          # docker push 命令可根据实际需要补充

      # 输出流水线状态
      - name: 🍏 Job Status Report
        run: echo "🍏 This job's status is ${{ job.status }}."

      # 更新dev环境
      - name: 📝 Update dev.devstar.cn
        run: echo "Update dev.devstar.cn"

分步讲解:

  • on: 定义流水线的触发条件(当代码推送或发起PR到master分支时自动执行)
  • jobs: 定义流水线中的任务集合
    • runs-on: 指定流水线运行的操作系统环境(如 Ubuntu)
    • steps: 明确流水线的每一步操作
      • Check out repository code:检出(拉取)最新的仓库代码,为后续操作做准备
      • Test Codes and Build an Artifact:使用 Maven 对项目进行编译和测试,确保代码质量和可用性
      • Push Artifact to devstar.cn and docker.io Registry:将构建好的镜像或产物推送到 devstar.cn 和 docker.io 镜像仓库,实现自动交付
      • Job Status Report:输出本次流水线的执行状态,便于追踪和归档
      • Update dev.devstar.cn:自动更新开发环境或测试环境,实现持续集成到持续部署的闭环
3. 提交并推送脚本
git add .gitea/workflows/ci.yaml
git commit -m "添加Java项目CI/CD流水线"
git push origin master

五、流水线执行与日志分析

  1. 查看流水线状态
    打开DevStar网页端,进入项目页面,点击「Actions」进行查看。
    在这里插入图片描述

  2. 日志分析

    • 每一步都有详细日志输出(如JDK安装、Maven编译、测试结果等)
    • 若有错误,日志会高亮显示,便于快速定位和修复

六、常见问题与解决办法

  • 流水线未触发

    • 检查.gitea/workflows/ci.yaml路径和文件名
    • 确认Actions Runner在线
  • JDK版本不兼容

    • 修改java-version为项目实际需要的版本(如8、11、17、21)
  • Maven依赖下载慢或失败

    • 网络原因,建议多尝试几次或更换国内Maven源
  • 测试失败

    • 查看mvn clean package日志,修复代码或测试用例

七、实验总结与体会

通过本实验,我不仅掌握了Java项目CI/CD流水线的基本配置和使用,还学会了如何分析流水线日志、排查常见错误。CI/CD让开发流程高度自动化,每次提交都能自动编译、测试和输出结果,大大提升了开发效率和代码质量。未来可以继续扩展自动部署、代码检查等更高级的自动化能力。


八、参考资料


如有问题,欢迎留言交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值