Jenkins 与 Gitea 自动 CI ¶
Jenkins配置任务监听 gitea 仓库 ¶
1. 安装 Gitea Plugin ¶
在 Jenkins 打开 系统管理 - 插件管理,在 可选插件 中搜索并安装 Gitea。 |
---|
![]() |
2. 创建 Organization Folder ¶
Jenkins 中 Organization Folder 任务支持从 Gitea 服务器扫描并自动添加组织或用户目录下的所有代码仓库。当代码仓库中包含 Jenkinsfile 时会自动将该仓库加入流水线队列。在这种自动化模式下,该组织下的代码仓库无需单独配置 Webhook 便可以自动与 Jenkins CI 集成。 |
---|
![]() |
3. 配置 Repository Sources ¶
打开刚才创建的 Organization Folder。在 Projects - Repository Sources 中添加 Gitea Organization 并填写以下信息:
添加 Gitea 服务器 和 组织信息 |
---|
![]() |
Server: 选择一个 Gitea Server |
Owner: 与 Jenkins 集成的 Gitea 组织或个人目录 |
Credentials: 选择一个用于访问 Gitea 的 Jenkins 账号访问令牌(应该拥有 Owner 的管理权限) |
Jenkins 会自动扫描 Gitea 服务器中的 test 组织下的包含条件的仓库,在 Scan Gitea Organization Log 中呈现出扫描结果。
扫描到 Gitea 服务器中 test 组织中的 java-test 仓库 |
---|
![]() |
Gitea 配置集成 Jenkins ¶
与 Jenkins 集成配置中,给 Gitea 服务器上的 test 组织集成了 Jenkins CI 的能力。
当用户在 test 组织中创建包含 Jenkinsfile
文件的代码仓库时, Jenkins CI 将自动启动,为 Gitea 仓库配置 Webhook。当用户再次提交代码至 Gitea 服务器时,Jenkins 就会被 Gitea Webhook 触发构建过程。
1. 在组织中创建测试仓库 ¶
在组织 test 中创建测试仓库 gitea-ci-test |
---|
![]() |
2. 编写代码并推送至测试仓库 ¶
1. 拉取代码至本地
git clone <git@cicd-gitea.linuxnbg.com:datarc/iceberg.git>
git checkout -b gitea-ci-test-1
2. 创建 Jenkinsfile 文件
cat > Jenkinsfile << "EOF"
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'echo build'
}
}
stage('Test'){
steps {
sh 'echo test'
}
}
stage('Deploy') {
steps {
sh 'echo publish'
}
}
}
}
EOF
3. 推送至 gitea-ci-test 测试仓库
git add .
git commit -m "chore: chore: 添加 Jenkinsfile 文件"
git push origin gitea-ci-test-1
3. 检查 Plugin 创建的 Webhook ¶
当在 Jenkins 的 Gitea Plugin 中勾选 Manage hook 后,Gitea 的组织与 Jenkins 集成时 Gitea Plugin 插件自动为新建的 Gitea 仓库创建 Webhook。(检测到 Jenkinsfile 文件才会创建)
检查 Gitea Plugin 自动为 Gitea 创建的 Webhook |
---|
![]() |
4. 查看 Jenkins-CI 流程 ¶
在 Gitea 的提交列表中,可以看到当前代码提交的构建情况。
- 黄色的 ● 表示正在进行构建任务
- 绿色的 ✔ 表示已经完成的构建任务。
在 Gitea 的提交列表中,可以看到当前代码提交的构建情况。 |
---|
![]() |
点击图标 ●、✔、× 符号可以跳转至 Jenkins 查看任务详情情况。 |
---|
![]() |