GitHub Actions 简介与设置并不只看表面做法,关键还要理解相关条件、限制和后续影响。
GitHub Actions 是一个持续集成和持续交付(CI/CD)平台,它允许你自动化你的构建、测试和部署流程(pipeline)。你可以创建工作流(workflows),对你仓库的每一次拉取请求(pull request)进行构建和测试,或者将合并后的拉取请求部署到生产环境。
在这个实验(Lab)中,你将学习开始使用 GitHub Actions 所需的初始设置。你将经历创建 GitHub 仓库、将其克隆到本地开发环境,以及设置 GitHub Actions 用来识别你的工作流所需的特定目录结构的过程。
在这一步,你将在 GitHub 网站上创建一个新的仓库(repository)。这个仓库将作为你项目的远程存储位置,也是 GitHub Actions 工作流(workflows)运行的地方。

你现在已经创建了一个远程仓库。在接下来的步骤中,你将把这个仓库带到你的本地环境。
在这一步,你将把刚刚创建的仓库克隆到你的本地 LabEx 环境中。这使得你可以在本地编辑文件和创建工作流。
1. 在你的 GitHub 仓库页面上,点击绿色的 Code 按钮。
2. 确保选择了 HTTPS 标签页,并复制该 URL。它看起来应该像 https://github.com/your-username/github-actions-demo.git。
3. 在 LabEx 环境中打开终端。默认路径是 ~/project。
4. 使用 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.
5. 验证目录是否已创建:
ls -F
你应该会看到 github-actions-demo/ 被列出。
GitHub Actions 在你的仓库中一个特定的目录中查找工作流配置文件:.github/workflows。在这一步中,你将创建这个目录结构。
1. 确保你位于仓库目录下:
cd ~/project/github-actions-demo
2. 使用带 -p (parents) 标志的 mkdir 命令创建 .github 目录及其内部的 workflows 子目录:
mkdir -p .github/workflows
3. Git 不会跟踪空目录。为了确保我们可以在下一步中提交这个结构,让我们在这个目录下创建一个名为 main.yml 的简单空工作流文件。
touch .github/workflows/main.yml
4. 验证结构:
ls -R .github
示例输出:
.github:
workflows
.github/workflows:
main.yml
这个结构至关重要。GitHub 只会将放置在 .github/workflows 中的 YAML 文件识别为 Action 工作流。
在此步骤中,你将提交新的目录结构并将其推送到 GitHub。
1. 暂存(Stage)新文件以供提交:
git add .
2. 使用描述性的消息提交更改:
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
3. 将更改推送到 GitHub 上的远程仓库:
git push
关于身份验证的注意事项:
当你运行 git push 时,WebIDE 会自动提示你进行身份验证。请遵循以下详细步骤:

隐私声明: 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
在这个实验 (Lab) 中,你已成功为使用 GitHub Actions 奠定了基础。你已经:
有了这个结构,你现在就可以通过编辑 workflows 目录中的 YAML 文件来定义 CI/CD 工作流了。