介绍
GitHub Actions 是一个持续集成和持续交付(CI/CD)平台,它允许你自动化你的构建、测试和部署流程(pipeline)。你可以创建工作流(workflows),对你仓库的每一次拉取请求(pull request)进行构建和测试,或者将合并后的拉取请求部署到生产环境。
在这个实验(Lab)中,你将学习开始使用 GitHub Actions 所需的初始设置。你将经历创建 GitHub 仓库、将其克隆到本地开发环境,以及设置 GitHub Actions 用来识别你的工作流所需的特定目录结构的过程。
前提条件
- 一个 GitHub 账户 (https://github.com)。如果你还没有 GitHub 账户,你必须首先在 https://github.com/signup 注册一个免费账户。这是完成本次实验的先决条件。
- 熟悉命令行基础操作。
在 GitHub 网站上创建一个新仓库
在这一步,你将在 GitHub 网站上创建一个新的仓库(repository)。这个仓库将作为你项目的远程存储位置,也是 GitHub Actions 工作流(workflows)运行的地方。
- 打开你的网页浏览器,导航至 https://github.com。
- 登录你的 GitHub 账户。
- 在任何页面的右上角,使用 + 下拉菜单,然后选择 New repository(新建仓库)。
- 在 Repository name(仓库名称)框中,输入
github-actions-demo。 - 选择 Public(公开)(GitHub Actions 对公开仓库是免费的)。
- 勾选 Add a README file(添加 README 文件)复选框。这确保了仓库被初始化并准备好进行克隆(clone)。
- 点击 Create repository(创建仓库)。

你现在已经创建了一个远程仓库。在接下来的步骤中,你将把这个仓库带到你的本地环境。
使用 git clone 命令将仓库克隆到 Ubuntu 虚拟机
在这一步,你将把刚刚创建的仓库克隆到你的本地 LabEx 环境中。这使得你可以在本地编辑文件和创建工作流。
- 在你的 GitHub 仓库页面上,点击绿色的 Code 按钮。
- 确保选择了 HTTPS 标签页,并复制该 URL。它看起来应该像
https://github.com/your-username/github-actions-demo.git。 - 在 LabEx 环境中打开终端。默认路径是
~/project。 - 使用
git clone命令下载仓库。将your-username替换为你实际的 GitHub 用户名。
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
示例输出:
Cloning into 'github-actions-demo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
- 验证目录是否已创建:
ls -F
你应该会看到 github-actions-demo/ 被列出。
在仓库中创建 .github/workflows 目录
GitHub Actions 在你的仓库中一个特定的目录中查找工作流配置文件:.github/workflows。在这一步中,你将创建这个目录结构。
- 确保你位于仓库目录下:
cd ~/project/github-actions-demo
- 使用带
-p(parents) 标志的mkdir命令创建.github目录及其内部的workflows子目录:
mkdir -p .github/workflows
- Git 不会跟踪空目录。为了确保我们可以在下一步中提交这个结构,让我们在这个目录下创建一个名为
main.yml的简单空工作流文件。
touch .github/workflows/main.yml
- 验证结构:
ls -R .github
示例输出:
.github:
workflows
.github/workflows:
main.yml
这个结构至关重要。GitHub 只会将放置在 .github/workflows 中的 YAML 文件识别为 Action 工作流。
使用 git add、git commit 和 git push 命令提交并推送目录更改
在此步骤中,你将提交新的目录结构并将其推送到 GitHub。
- 暂存(Stage)新文件以供提交:
git add .
- 使用描述性的消息提交更改:
git commit -m "Setup GitHub Actions workflow directory"
示例输出:
[main ... ] Setup GitHub Actions workflow directory
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 .github/workflows/main.yml
- 将更改推送到 GitHub 上的远程仓库:
git push
关于身份验证的注意事项:
当你运行 git push 时,WebIDE 会自动提示你进行身份验证。请遵循以下详细步骤:
- 将出现一个弹出窗口,显示消息:“The extension 'GitHub' wants to sign in using GitHub.”(扩展程序 'GitHub' 希望使用 GitHub 登录。)点击 Allow(允许)。
- 将出现一个新的通知。点击 **"Copy&Continue to GitHub"**(复制并继续到 GitHub),然后在下一个提示中点击 **"Open"**(打开)。
- 在打开的浏览器窗口中登录你的 GitHub 帐户,并输入已复制的授权码。确认授权后,页面将自动关闭。
- 等待几秒钟,你将看到终端成功完成推送操作。

隐私声明: WebIDE 会请求对你的 GitHub 帐户的完全访问权限以进行身份验证。你无需担心隐私问题——在完成当前实验(lab)后,LabEx 虚拟机将立即销毁,你的凭据和授权信息不会被保留。
此身份验证过程不需要手动配置用户名或 Personal Access Token(个人访问令牌)。
遵循身份验证步骤后,你将看到类似以下内容的输出:
示例输出:
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (5/5), 388 bytes | 388.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/your-username/github-actions-demo.git
2e0917f..a191a97 master -> master
- 在 Web 浏览器中访问你的 GitHub 仓库,确认
.github/workflows目录和main.yml文件现在已在仓库结构中可见。
总结
在这个实验 (Lab) 中,你已成功为使用 GitHub Actions 奠定了基础。你已经:
- 在 GitHub 上创建了一个新的仓库。
- 将仓库克隆到了你的本地环境。
- 创建了必需的
.github/workflows目录结构。 - 将这些更改提交并推送回了 GitHub。
有了这个结构,你现在就可以通过编辑 workflows 目录中的 YAML 文件来定义 CI/CD 工作流了。



