Hands-on Lab (6) - 配置Gogs的Webhook

89 篇文章 3 订阅
27 篇文章 0 订阅

OpenShift 4.x HOL教程汇总
说明:本文已经在OpenShift 4.15环境中验证

部署Gogs+PostgreSQL

  1. 执行命令,创建项目和Gogs和PostgreSQL应用资源。其中所有参数都在下面的gogs-persistent-template.yaml文件中。
$ oc new-project USER-ID-gogs
$ oc new-app -f https://raw.githubusercontent.com/liuxiaoyu-git/cicd-software-templates/master/gogs-persistent-template-new.yaml -n USER-ID-gogs
--> Deploying template "user1-gogs/gogs" for "https://raw.githubusercontent.com/liuxiaoyu-git/cicd-software-templates/master/gogs-persistent-template.yaml" to project user1-gogs
 
     gogs
     ---------
     The Gogs git server (https://gogs.io/)
 
     * With parameters:
        * APPLICATION_NAME=gogs
        * GOGS_VOLUME_CAPACITY=1Gi
        * DB_VOLUME_CAPACITY=1Gi
        * Database Username=gogs
        * Database Password=gogs
        * Database Name=gogs
        * Database Admin Password=S2DGYkMF # generated
        * Maximum Database Connections=100
        * Shared Buffer Amount=12MB
        * Database version (PostgreSQL)=10
        * Gogs Version=latest
        * Installation lock=true
        * Skip TLS verification on webhooks=true
 
--> Creating resources ...
    serviceaccount "gogs" created
    service "gogs-postgresql" created
    deploymentconfig.apps.openshift.io "gogs-postgresql" created
    service "gogs" created
    route.route.openshift.io "gogs" created
    deploymentconfig.apps.openshift.io "gogs" created
    imagestream.image.openshift.io "gogs" created
    persistentvolumeclaim "gogs-data" created
    persistentvolumeclaim "gogs-postgres-data" created
    configmap "gogs-config" created
--> Success
    Access your application via route 'gogs-gogs-postgresql.apps.cluster-beijing-78c7.beijing-78c7.example.opentlc.com'
    Run 'oc status' to view your app.
  1. 查看部署的拓扑情况,当gogs和postgresql的Pod都Running后,用浏览器打开gogs的路由访问地址。
    在这里插入图片描述
  2. 在Gogs的初始界面中点击“注册”,然后gogs/gogs的信息注册一个用户,最后登录即可。
    在这里插入图片描述

配置Webhook

导入Git Repo到Gogs

  1. 点击界面右上方的“+”,然后在下拉菜单中进入“迁移外部仓储”。
    在这里插入图片描述
  2. 在“迁移外部仓库”对话框中提供如下Repo配置,然后点击“迁移仓库”按钮。
    克隆地址:https://github.com/sclorg/nginx-ex.git
    仓库名称:nginx
    在这里插入图片描述
  3. 导入完成后可以看到名为nginx的Git Repo,此时nginx的Repo的访问地址是http:///gogs/nginx
    在这里插入图片描述

根据Git Repo部署应用

  1. 进入OpenShift控制台“开发者”视图。
  2. 在点击“项目”的下拉框中点击“创建项目”,然后创建项目:USER-ID-nginx。
    在这里插入图片描述
  3. 在OpenShift控制台的“+添加”中进入“所有服务”。
    在这里插入图片描述
  4. 查找“nginx”,确认找到的“Nginx HTTP server and a reverse proxy (nginx)”是“构建器镜像”类型。点击进入,然后在右侧窗口中点击“Create 应用程序”。
    在这里插入图片描述
  5. 在“创建 Source-to-Image 应用程序”页面中提供以下配置,其它是默认配置即可,完成后点击“创建”按钮。
    Git Reop URL:http:///gogs/nginx
    Git 类型:GitHub
    在这里插入图片描述
  6. 在完成部署后点击“拓扑”中的nginx图标,然后在右侧窗口先点击名为“nginx”的路由链接,查看nginx应用页面。然后再点击“构建”的“BC”图标右侧的“nginx”链接,查看BuildConfig配置。
    在这里插入图片描述
  7. 在nginx的“Build Config 详情”页面中查看“Webhook”,然后点击GitHub对应的“使用Secret复制URL”链接,复制GitHub的Webhook的地址。
    在这里插入图片描述
  8. 进入Gogs应用的nginx Repo,然后进入“仓库设置”标签,再点击“添加Web钩子”按钮,最后选择“Gogs”即可。
    在这里插入图片描述
  9. 在“添加Web钩子”界面中将(7)获得的Webhood地址复制到“推送地址”中,然后点击“添加Web钩子”按钮完成设置。在这里插入图片描述
  10. 修改Gogs中niginx Repo的index.html文件内容,提交后在OpenShift控制台查看nginx已经有一个“#2”的新构建了。完成后再次访问应用,确认应用页面已经更新。
    在这里插入图片描述
  11. 此时可再次从Gogs中nginx Repo的“仓库设置”查看Webhook的配置。在下方的“最近推送记录”中查看触发的推送请求和响应内容。
    在这里插入图片描述

注意事项

在部署Gogs的时候需要确认https://raw.githubusercontent.com/liuxiaoyu-git/cicd-software-templates/master/gogs-persistent-template.yaml文件中以下部分,其中SKIP_TLS_VERIFY参数需要设为true,否则在Gogs调用的Webhook的时候会出现以下错误。

- name: SKIP_TLS_VERIFY
  displayName: Skip TLS verification on webhooks
  description: Skip TLS verification on webhooks. Enable with caution!
  value: "true"

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值