<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Github App on Jenny blog</title>
        <link>https://yue-jenny.github.io/tags/github-app/</link>
        <description>Recent content in Github App on Jenny blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <lastBuildDate>Tue, 10 Jan 2023 16:05:56 +0800</lastBuildDate><atom:link href="https://yue-jenny.github.io/tags/github-app/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>在 Argo CD 中使用 Github App Credential 作為驗證方式</title>
        <link>https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/</link>
        <pubDate>Tue, 10 Jan 2023 16:05:56 +0800</pubDate>
        
        <guid>https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/</guid>
        <description>&lt;h2 id=&#34;在-argo-cd-中使用-github-app-credential-作為驗證方式&#34;&gt;在 Argo CD 中使用 Github App Credential 作為驗證方式&lt;/h2&gt;
&lt;h3 id=&#34;前言&#34;&gt;前言&lt;/h3&gt;
&lt;p&gt;在先前文章&lt;a class=&#34;link&#34; href=&#34;../%e4%bd%bf%e7%94%a8-docker-desktop-%e9%81%8b%e8%a1%8c-argo-cd-%e4%bb%a5%e5%8f%8a%e5%9c%a8-argo-cd-%e5%85%a7%e5%bb%ba%e7%ab%8b-app-%e5%81%b5%e6%b8%ac-repository-%e7%8b%80%e6%85%8b/&#34; &gt;使用 Docker Desktop 運行 Argo CD 以及在 Argo CD 內建立 App 偵測 repository 狀態&lt;/a&gt; 有提到 private repository 驗證的方式有 &lt;code&gt;SSH&lt;/code&gt;、&lt;code&gt;Https&lt;/code&gt; 以及 &lt;code&gt;Github App Credential&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;此文章來筆記下，如何在 Argo CD 中使用 &lt;code&gt;Github App Credential&lt;/code&gt; 作為驗證方式&lt;/p&gt;
&lt;h3 id=&#34;實作&#34;&gt;實作&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;建立 Github App&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;步驟可參考 👉 &lt;a class=&#34;link&#34; href=&#34;https://docs.github.com/en/developers/apps/building-github-apps/creating-a-github-app&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官方文件&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其中，特別需要設定的值&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Github App Name&lt;/strong&gt;: 為你的 Github App 取名稱&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Homepage URL&lt;/strong&gt;: 你的 web app URL&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;我的 argo cd 是以 docker desktop 啟動，並利用 port forward 方式，讓本地利用 &lt;a class=&#34;link&#34; href=&#34;http://localhost&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;localhost&lt;/a&gt; 可連線 dashboard，可參考&lt;a class=&#34;link&#34; href=&#34;https://yue-jenny.github.io/2023/01/%E4%BD%BF%E7%94%A8-docker-desktop-%E9%81%8B%E8%A1%8C-argo-cd/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;我的文章使用 Docker Desktop 運行 Argo CD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Callback URL&lt;/strong&gt;: 當 github 認證完畢後，要 redirect 回去的 URL&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/basic-info-1.png&#34;
	width=&#34;927&#34;
	height=&#34;866&#34;
	srcset=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/basic-info-1_huc5491ce2dc66550e600cbcca3297735a_53484_480x0_resize_box_3.png 480w, https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/basic-info-1_huc5491ce2dc66550e600cbcca3297735a_53484_1024x0_resize_box_3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;basic information 1 &#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;107&#34;
		data-flex-basis=&#34;256px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/basic-info-2.png&#34;
	width=&#34;839&#34;
	height=&#34;911&#34;
	srcset=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/basic-info-2_hua8d901ec71c1f4aeb1737fac5fac2f29_47817_480x0_resize_box_3.png 480w, https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/basic-info-2_hua8d901ec71c1f4aeb1737fac5fac2f29_47817_1024x0_resize_box_3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;basic information 2 &#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;92&#34;
		data-flex-basis=&#34;221px&#34;
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;建立完成 Github App 後，還有兩件事情要做，Argo CD 設定連線時會用到&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;查看 Github App Installation ID&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;看 URL &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/settings/installations/%7bYour&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/settings/installations/{Your&lt;/a&gt; Github App Installation ID}&lt;/strong&gt;, 可確認 Github App Installation ID&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;建立 private key&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;到 &lt;code&gt;Settings / Developer settings / Github Apps / {your-github-app-name}&lt;/code&gt; 的 &lt;code&gt;General&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/get-private-key-1.png&#34;
	width=&#34;681&#34;
	height=&#34;337&#34;
	srcset=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/get-private-key-1_hub4eca3abecd1bcd4a43190f529bfc084_23447_480x0_resize_box_3.png 480w, https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/get-private-key-1_hub4eca3abecd1bcd4a43190f529bfc084_23447_1024x0_resize_box_3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;set a private key&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;202&#34;
		data-flex-basis=&#34;484px&#34;
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;將頁面往下拉可以看見 Private keys，點 &lt;code&gt;Generate a private key&lt;/code&gt; 建立一組 private key&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/get-private-key-2.png&#34;
	width=&#34;806&#34;
	height=&#34;251&#34;
	srcset=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/get-private-key-2_hu418a32b8c70bb709a8142c5945f221c3_17725_480x0_resize_box_3.png 480w, https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/get-private-key-2_hu418a32b8c70bb709a8142c5945f221c3_17725_1024x0_resize_box_3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;set a private key&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;321&#34;
		data-flex-basis=&#34;770px&#34;
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;到 Argo CD 的 Repositories 設定連線資訊&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;如何到這頁來設定，可參考&lt;a class=&#34;link&#34; href=&#34;https://argo-cd.readthedocs.io/en/stable/user-guide/private-repositories/#github-app-credential&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;官方文件&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;這邊要填寫與設定的資訊分成兩部分&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;先選到 &lt;code&gt;VIA GITHUB APP&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;依照上面的訊息完成填寫&lt;code&gt;框 2&lt;/code&gt;的內容&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;點 &lt;code&gt;CONNECT&lt;/code&gt;，完成&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/connect-repo-1.png&#34;
	width=&#34;849&#34;
	height=&#34;881&#34;
	srcset=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/connect-repo-1_hud66466c9c685aacdb265a07c8d099a51_42099_480x0_resize_box_3.png 480w, https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/connect-repo-1_hud66466c9c685aacdb265a07c8d099a51_42099_1024x0_resize_box_3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Repositories 設定連線資訊&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;96&#34;
		data-flex-basis=&#34;231px&#34;
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;連線成功&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/connect-repo-2.png&#34;
	width=&#34;1377&#34;
	height=&#34;193&#34;
	srcset=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/connect-repo-2_hu171eb20f762b1004e7638657a00c1e7d_21668_480x0_resize_box_3.png 480w, https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/connect-repo-2_hu171eb20f762b1004e7638657a00c1e7d_21668_1024x0_resize_box_3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;連結成功&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;713&#34;
		data-flex-basis=&#34;1712px&#34;
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;建立一組 NEW APP&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/new-app.png&#34;
	width=&#34;1408&#34;
	height=&#34;564&#34;
	srcset=&#34;https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/new-app_hu8d10ffa92c0cef9f32058c6d59afce6b_119484_480x0_resize_box_3.png 480w, https://yue-jenny.github.io/2023/01/%E5%9C%A8-argo-cd-%E4%B8%AD%E4%BD%BF%E7%94%A8-github-app-credential-%E4%BD%9C%E7%82%BA%E9%A9%97%E8%AD%89%E6%96%B9%E5%BC%8F/new-app_hu8d10ffa92c0cef9f32058c6d59afce6b_119484_1024x0_resize_box_3.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;NEW APP&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;249&#34;
		data-flex-basis=&#34;599px&#34;
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;心得&#34;&gt;心得&lt;/h2&gt;
&lt;p&gt;看到官方提供驗證 private repository 的方式有 &lt;code&gt;Github App Credential&lt;/code&gt;，讓我相當好奇，於是就有了這篇文章。&lt;br&gt;
後續再寫一篇文章來記錄 &lt;code&gt;Github App&lt;/code&gt; 與 &lt;code&gt;OAuth App&lt;/code&gt;差異。&lt;/p&gt;
&lt;h2 id=&#34;參考資料-&#34;&gt;參考資料 👐&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;about-apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://argo-cd.readthedocs.io/en/stable/user-guide/private-repositories/#github-app-credential&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;github-app-credential&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;🍀 「記錄」是為了有意識地、有條理地統整所學的學習知識。&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;🍀 最後，若喜歡我的分享，可以免費幫我按讚，是對我最大的鼓勵! ✨ ✨ ✨&lt;/strong&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
