jenkins 使用webhooks 触发构建任务gitea为例 gitlab类似

jenkins 使用webhooks 触发构建任务gitea为例

多次尝试以及网上的各种资料查阅成功了下
其他人给的答案他们有他们的道理,至少我没有实验成功。我这里就记录下

  1. 添加API token
  2. 将生成的token 复制保存 第4步骤的时候要用
    在这里插入图片描述
  3. 配置构建方式 填写身份验证令牌
    构建触发器
  4. 安全配置修改为 “登录用户可以做任何事”
    在这里插入图片描述
  5. 关闭 CSRF设置 No valid crumb was included in the request 报错问题
hudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION = true

在系统管理最下面有一个 脚本命令行
在这里插入图片描述

执行上面的命令
在这里插入图片描述

  1. 在gitea 中配置webhooks
    • 填写token_name 我的为jenkins
    • 复制第二步中生成的api token 放到authorization 中
    • 保存 并点击测试

gitea中进入到webhooks页面 新增hooks

测试结果

其他文章
Jenkins报:403 No valid crumb was included in the request
No valid crumb was included in the request 问题定位与解决

### Gitea CI/CD 集成设置与配置 #### 安装和准备阶段 为了使 Gitea 能够顺利集成 CI/CD 流程,首先需要确保服务器具备适当版本的 Java 环境。如果当前环境中存在旧版 JDK 版本,则可能会影响某些工具的功能正常运作[^3]。 对于 Jenkins 的部署,在 OpenShift 上仅提供单个 Maven Pod 可能会限制并行处理能力,进而影响构建效率。因此建议确认集群资源分配情况以及 Pod 数量设定是否合理[^1]。 #### 创建 Webhook 和服务端点 要在 Gitea 中启用自动化持续集成流程,需创建一个指向 CI 工具(如 JenkinsGitLab Runner)的服务钩子(webhook),每当有新的提交推送到仓库时触发相应的动作。具体操作如下: - 登录至 Gitea 控制面板; - 进入目标项目页面; - 寻找 “Settings -> Webhooks & Services” 选项卡; - 添加一个新的 webhook 或者激活已有的 CI service plugin; ```json { "url": "http://<your-jenkins-server>/github-webhook/", "content_type": "json", "secret": "<webhook-secret>", "events": ["push"] } ``` 此 JSON 数据结构定义了当检测到推送事件发生时应向何处发送通知请求,并指定了通信所使用的数据格式为 `application/json` 类型[^2]。 #### 构建流水线文件 接下来要做的就是在项目的根目录下放置名为 `.gitea/workflows.yml` 或其他支持的语言特定命名约定下的 YAML 文件来描述整个 CI/CD 生命周期内的各个步骤。下面是一个简单的子用于展示如何利用多云特性简化应用发布过程而不必手动编写额外脚本。 ```yaml name: Build and Deploy Application Pipeline on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout codebase uses: actions/checkout@v2 - name: Set up JDK 17 uses: actions/setup-java@v2 with: distribution: 'temurin' java-version: '17' - run: mvn clean install deploy: needs: build runs-on: self-hosted # Assuming you have a runner configured within your infrastructure. environment: production steps: - name: Fetch latest artifact from previous job id: download_artifact uses: dawidd6/action-download-artifact@v2 with: workflow: ci- name: Execute deployment strategy defined by the platform env: DEPLOYMENT_ENVIRONMENT: ${{ secrets.DEPLOYMENT_ENV }} run: | echo "Deploying application..." # Here would be commands interacting with cloud provider APIs or container orchestration tools like Kubernetes CLI. ``` 上述代码片段展示了通过 GitHub Actions 来管理基于 Gitea 触发器启动的工作流实化逻辑。它包含了两个主要部分:“build”负责编译源码包,“deploy”则执行实际的应用程序部署任务。值得注意的是这里的自托管运行器(`self-hosted`)意味着你需要预先准备好能够访问内部网络资源的机器作为执行节点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值