您的位置:首页 > 健康 > 养生 > ngrok forward本地argocd并设置为github repo webhook

ngrok forward本地argocd并设置为github repo webhook

2024/12/23 9:32:00 来源:https://blog.csdn.net/solinger/article/details/141938514  浏览:    关键词:ngrok forward本地argocd并设置为github repo webhook

为什么需要ngrok

我们刚学了argocd的安装和部署应用,但是argocd什么时候部署部署我们的应用,就取决于repo的sync机制。我们采用以下cmd设置为autosync。

argocd app list # to get our app
argocd app set argocd/tekton-learning-nginx  --sync-policy automated # argocd/tekton-learning-nginx  is my app_name

这样配置的话,argocd默认每三分钟就去检测,如果有更新就自动sync。

而通常我们希望,可以定制什么时候sync,也就是可以通过github的webhook,去决定什么时候触发sync。

本地argocd没有外网的ip,无法设置为webhook,ngrok就为了解决此问题。

安装和使用ngrok

注册用户,并登陆,就可以看到installation and setup。就可以轻松安装了。我的操作系统是macos。所以我用到的指令是:

sudo unzip ~/Downloads/ngrok-v3-stable-darwin.zip -d /usr/local/bin
ngrok config add-authtoken **** # *** is my token key. You just need to copy yours
ngrok http https://localhost:8000

这里需要说明的是,https://localhost:8000是我的argocd local url。我可以通过web browser访问。这里你需要换成你的argocd local url。

设置github repo webhook

找到your_external_argocd_url

查看ngrok http your_argocd_local_url 的输出,我的输出如下:
 

Session Status                online                                                                                             
Account                       my_account (Plan: Free)                                                                       
Version                       3.15.1                                                                                             
Region                        Asia Pacific (ap)                                                                                  
Latency                       74ms                                                                                               
Web Interface                 http://127.0.0.1:4040                                                                              
Forwarding                    https://6d91-111-201-230-65.ngrok-free.app -> https://localhost:8000                               Connections                   ttl     opn     rt1     rt5     p50     p90                                                        18      0       0.00    0.00    0.79    91.04                                                      HTTP Requests                                                                                                                    
-------------                                                                                                                    

这里,Forwarding后面的https://...app就是ngrok为我们local argocd提供的外网入口,我们称它为your_external_argocd_url。

我们把他粘贴到我们的浏览器中,确保我们可以看到argocd的dashboard。

添加webhook

打开你的github repo的配置页,将webbook设置为your_external_argocd_url/api/webhook, content_type设置为application/json,点击保存即可。

当你保存后,这个hook前端回显示一个内部是感叹号的红色三角,其表示还未曾触发过该hook。

修改代码并查看hook

修改代码并提交,这时候回到github webhook界面,看hook是否能正常工作。正常工作的话,会出现绿色对号。

回到argocd dashboard,也可以看到sync已经完成并且部署最新的代码。

查看ngrok输出

                                                                                                                                 
Session Status                online                                                                                             
Account                       wlin@redhat.com (Plan: Free)                                                                       
Version                       3.15.1                                                                                             
Region                        Asia Pacific (ap)                                                                                  
Latency                       73ms                                                                                               
Web Interface                 http://127.0.0.1:4040                                                                              
Forwarding                    https://6d91-111-201-230-65.ngrok-free.app -> https://localhost:8000                               Connections                   ttl     opn     rt1     rt5     p50     p90                                                        18      0       0.00    0.00    0.79    91.04                                                      HTTP Requests                                                                                                                    
-------------                                                                                                                    18:52:31.916 CST POST /api/webhook                                 200 OK                                                        
18:40:54.285 CST POST /api/webhook                                 200 OK                                                        
18:04:59.508 CST POST /api/webhook                                 200 OK        

我们同样可以看到api/webhook 200的成功的信息。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com