{"id":15166935,"url":"https://github.com/raojinlin/gitlab-jenkins-runner","last_synced_at":"2026-01-21T01:32:27.426Z","repository":{"id":194030629,"uuid":"689957343","full_name":"raojinlin/gitlab-jenkins-runner","owner":"raojinlin","description":"🚀 GitLab Jenkins Runner 是一个用于在 GitLab CI/CD 流水线中触发 Jenkins 作业的命令行工具。","archived":false,"fork":false,"pushed_at":"2023-10-23T09:23:01.000Z","size":7815,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T16:54:05.938Z","etag":null,"topics":["devops","gitlab","gitlab-ci","golang","jenkins","jenkins-build"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raojinlin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-11T08:59:05.000Z","updated_at":"2024-05-15T02:52:30.000Z","dependencies_parsed_at":"2023-09-11T10:36:28.520Z","dependency_job_id":"9c54097f-6d62-46a3-9152-e8445d30a517","html_url":"https://github.com/raojinlin/gitlab-jenkins-runner","commit_stats":{"total_commits":10,"total_committers":2,"mean_commits":5.0,"dds":0.5,"last_synced_commit":"15ed406cb217b5e605632ca0bd3716fed80417bb"},"previous_names":["raojinlin/gitlab-jenkins-runner"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/raojinlin/gitlab-jenkins-runner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raojinlin%2Fgitlab-jenkins-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raojinlin%2Fgitlab-jenkins-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raojinlin%2Fgitlab-jenkins-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raojinlin%2Fgitlab-jenkins-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raojinlin","download_url":"https://codeload.github.com/raojinlin/gitlab-jenkins-runner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raojinlin%2Fgitlab-jenkins-runner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28621634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T23:49:58.628Z","status":"ssl_error","status_checked_at":"2026-01-20T23:47:29.996Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","gitlab","gitlab-ci","golang","jenkins","jenkins-build"],"created_at":"2024-09-27T05:04:09.407Z","updated_at":"2026-01-21T01:32:27.409Z","avatar_url":"https://github.com/raojinlin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitLab Jenkins Runner\n\nGitLab Jenkins Runner 是一个用于在 GitLab CI/CD 流水线中触发 Jenkins 作业的命令行工具。它允许你轻松地将 GitLab 与 Jenkins 集成，实时输出Jenkins的构建日志，以实现自动化构建和部署工作流程。\n\n![](./demo.svg)\n\n## 安装\n\n在开始之前，请确保你的系统上已安装了Go(1.19及以上)。\n\n使用以下命令获取和构建 `gitlab-jenkins-runner`命令：\n\n```bash\n$ go install github.com/raojinlin/gitlab-jenkins-runner@latest\n```\n\n或者在[Releases](https://github.com/raojinlin/gitlab-jenkins-runner/releases)页面下载已经编译好的可执行文件。\n\n\n## 使用\n\n使用以下命令来触发 Jenkins 作业：\n\n```bash\ngitlab-jenkins-runner -base \u003cyour-jenkins-url\u003e -job \u003cjob-name\u003e -params PARAM1=Value1,PARAM2=Value2 -user \u003cjenkins-user\u003e -token \u003cjenkins-token\u003e -build\n```\n\n### 参数说明\n\n- `-base \u003cyour-jenkins-url\u003e`：Jenkins 服务器的基本 URL。\n- `-job \u003cjob-name\u003e`：要触发的 Jenkins 作业的名称。\n- `-params PARAM1=Value1,PARAM2=Value2`：要传递给 Jenkins 作业的参数，以逗号分隔的键值对。\n- `-user \u003cjenkins-user\u003e`：Jenkins 用户名。\n- `-token \u003cjenkins-token\u003e`：Jenkins 用户令牌或密码。\n- `-build`：触发 Jenkins 作业的构建。\n\n### 环境变量\n\n- `CI_MERGE_REQUEST_IID`: 合并请求的内部ID\n- `CI_SERVER_URL`: GitLab的服务器地址，如：`http://gitlab.example.com`\n- `CI_MERGE_REQUEST_PROJECT_PATH`: 项目路径\n- `CI_GITLAB_ACCESS_TOKEN`: GitLab访问秘钥，用于获取合并请求`CI_GITLAB_ACCESS_TOKEN`的详细信息\n\n## 示例\n\n以下是一个示例命令，演示如何使用 `gitlab-jenkins-runner` 工具：\n\n```bash\ngitlab-jenkins-runner -base https://your-jenkins-url.com -job my-build-job -params BRANCH=main,ENV=prod -user jenkinsuser -token myapitoken -build\n```\n\n## 在 GitLab 流水线中使用\n\n这个章节将指导你如何在 GitLab CI/CD 流水线中集成和使用 `gitlab-jenkins-runner` 命令来触发 Jenkins 构建作业。\n\n### 步骤 1: 配置 GitLab 项目\n\n确保你的 GitLab 项目正确配置了 CI/CD 设置以及与 Jenkins 的连接。你需要在项目设置中添加 Jenkins 服务器的 URL、认证凭据等信息。请参考 GitLab 文档以了解如何配置 GitLab 项目以与 Jenkins 集成。\n\n### 步骤 2: 配置 GitLab CI/CD 流水线\n\n在你的 GitLab 项目中，打开 `.gitlab-ci.yml` 文件并添加一个新的阶段，以使用 `gitlab-jenkins-runner` 工具触发 Jenkins 构建。\n\n```yaml\n# .gitlab-ci.yml\n\nstages:\n  - trigger_jenkins_build\n\ntrigger_jenkins_build:\n  stage: trigger_jenkins_build\n  script:\n    - gitlab-jenkins-runner -base https://your-jenkins-url.com -job my-build-job -params BRANCH=$CI_MERGE_REQUEST_SOURCE_BRANCH,ENV=prod,${CI_MERGE_REQUEST_LABELS} -user jenkinsuser -token myapitoken -build\n\n```\n\n### 步骤 4：创建一个merge_request\n创建一个merge_request\n\n### 步骤 5：为merge_request创建标签\n如果要想要Jenkins构建时使用参数，有两种方式：\n\n1. 在merge request上设置label，label的格式如下：\n```\nPARAM_1=PARAM_VALUE_1\n```\n\n如：`env=PROD`\n\n2. 编辑合并请求的描述，在描述中加入代码块，遵循以下格式\n````markdown\n合并请求描述文本。。。。\n\n下面的代码块会被传递到Jenkins\n```env\nSERVER_A_HOST=x.x.x.x\nSERVER_A_PORT=80\n```\n````\n\n## 支持\n\n如果你需要帮助或有其他相关问题，请联系我们。\n\n## 致谢\n\n感谢使用 GitLab Jenkins Runner！\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraojinlin%2Fgitlab-jenkins-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraojinlin%2Fgitlab-jenkins-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraojinlin%2Fgitlab-jenkins-runner/lists"}