在 GitHub 平臺上,透過 API 權杖可以安全地存取私有倉函式庫,避免直接使用帳號密碼的風險。首先,需要在 GitHub 設定中生成個人存取權杖,並設定適當的許可權範圍,例如儲存函式庫的讀寫許可權。取得權杖後,即可在 Git 命令列工具中使用 HTTPS URL 搭配權杖進行倉函式庫的複製、修改和推播等操作。過程中,系統會將權杖儲存在本機的 Windows 認證區段,簡化後續的操作流程。開發者可以修改程式碼,例如調整 HTML 檔案中的樣式設定,並透過 git add、git commit 和 git push 等指令提交變更到遠端倉函式庫。此方法確保了程式碼的版本控制和協作開發的安全性。
如何在 GitHub 中應用 API 認證
要在 GitHub 中應用 API 認證,需要建立一個 API 存取令牌。以下是建立 API 存取令牌的步驟:
- 登入 GitHub:使用 GitHub 使用者名稱和密碼登入 GitHub。
- 建立 API 存取令牌:點選右上角的使用者頭像,選擇「設定」,然後點選「開發者設定」。
- 點選「個人存取令牌」連結:這將帶您到個人存取令牌頁面。
- 點選「生成新令牌」按鈕:這將開啟新的個人存取令牌頁面。
- 輸入令牌目的:在「注意」欄位中輸入一個字串,以指示存取令牌的目的。
- 選擇儲存函式庫許可權:在「選擇範圍」部分,選擇「儲存函式庫」核取方塊,以獲得私人儲存函式庫的完全控制權。
- 生成令牌:點選「生成令牌」按鈕,生成新的個人存取令牌。
- 複製令牌:點選「複製」按鈕,複製生成的令牌,並將其儲存在檔案中,以便日後使用。
Pipeline as Code 的優點
Pipeline as Code 有以下優點:
- 自動化:Pipeline as Code 可以自動化軟體開發和佈署的過程,減少手動操作的錯誤。
- 版本控制:Pipeline as Code 可以將 pipeline 的定義寫入程式碼中,以便於版本控制和合作。
- 重用性:Pipeline as Code 可以重用 pipeline 的定義,減少重複工作。
使用 API 權杖存取私有 GitHub 倉函式庫
現在您已經擁有 API 權杖,您可以使用它來存取私有 GitHub 倉函式庫。以下步驟將示範如何使用 API 權杖存取私有倉函式庫、進行修改並將修改推播到遠端倉函式庫。
步驟 1:複製 JenkinsBookCalculatorWebApplication 倉函式庫
首先,建立一個空白目錄來複製倉函式庫。我建立了一個名為 CloningRepoUsingAPIToken 的空白目錄在 D: 磁碟上。然後,開啟命令提示符並使用 cd 命令進入該目錄。輸入 git clone 命令,並使用 HTTPS URL 的倉函式庫地址。
git clone https://github.com/使用者名稱/JenkinsBookCalculatorWebApplication.git
按下 Enter 鍵後,將出現 GitHub 的登入視窗。輸入您的 API 權杖到「個人存取權杖」欄位中,然後點選「登入」按鈕。倉函式庫將被複製到您的本地目錄中。
注意,一旦您使用使用者名稱和密碼/存取權杖存取倉函式庫,這些憑證將被儲存在系統的 Windows 認證區段中。
步驟 2:修改程式碼並推播到 GitHub 遠端倉函式庫
開啟來自複製倉函式庫的 src/main/webapp 目錄中的 Calculator.html 檔案。讓我們修改標題和按鈕的背景顏色從綠色改為紅色(需要修改的程式碼以粗體顯示)。
<style>
   .title {
        margin-bottom: 10px;
        text-align: center;
        width: 210px;
        color: red; /* 修改為紅色 */
        border: solid black 2px;
    }
    input[type="button"] {
        background-color: red; /* 修改為紅色 */
        color: black;
        border: solid black 2px;
        width: 100%
    }
</style>
儲存修改後,使用以下兩個命令將修改提交到本地倉函式庫:
git add.
git commit -m "修改標題顏色和按鈕背景顏色為紅色"
修改將被提交到預設分支,即 master 分支。
內容解密:
上述過程展示瞭如何使用 API 權杖來存取私有 GitHub 倉函式庫、進行修改並推播修改到遠端倉函式庫。這個過程涉及複製倉函式庫、修改程式碼、提交修改以及使用 API 權杖進行身份驗證。瞭解這個過程可以幫助您更好地管理私有倉函式庫和進行協作開發。
圖表翻譯:
以下是使用 Mermaid 語法繪製的流程圖,展示了使用 API 權杖存取私有 GitHub 倉函式庫的過程:
  flowchart TD
    A[建立空白目錄] --> B[複製倉函式庫]
    B --> C[輸入 API 權杖]
    C --> D[登入 GitHub]
    D --> E[複製倉函式庫到本地]
    E --> F[修改程式碼]
    F --> G[提交修改]
    G --> H[推播修改到遠端倉函式庫]
這個流程圖展示了從建立空白目錄到推播修改到遠端倉函式庫的完整過程,幫助您更好地理解使用 API 權杖存取私有 GitHub 倉函式庫的流程。
Git 版本控制系統的應用
在軟體開發中,版本控制系統是不可或缺的工具之一。Git 是目前最流行的版本控制系統之一,它允許開發人員追蹤程式碼變化、合作開發和管理不同版本的程式碼。
Git 基本操作
Git 的基本操作包括 git init、git add、git commit 和 git push。其中,git init 用於初始化一個新的 Git 儲存函式庫,git add 用於新增檔案到儲存函式庫中,git commit 用於提交變更,而 git push 則用於將變更推播到遠端儲存函式庫。
GitLab API 存取權杖
在 GitLab 中,可以建立 API 存取權杖以便於程式化存取儲存函式庫。建立 API 存取權杖的步驟如下:
- 登入 GitLab 帳戶。
- 點選右上角的使用者頭像,然後選擇「偏好設定」。
- 點選左側的「存取權杖」連結。
- 輸入權杖名稱和選擇適當的範圍(例如,「寫入儲存函式庫」)。
- 點選「建立個人存取權杖」按鈕。
- 複製生成的權杖並儲存在安全的地方。
使用 API 權杖存取私人 GitLab 儲存函式庫
使用 API 權杖可以存取私人 GitLab 儲存函式庫。以下是步驟:
- 建立一個新的空目錄以便克隆儲存函式庫。
- 開啟命令提示符並導航到新建立的目錄。
- 刪除任何已儲存的 GitLab 認證。
- 使用 HTTPS URL 和 API 權杖執行 git clone命令。
- 對儲存函式庫進行變更並提交變更。
- 使用 git push命令將變更推播到遠端儲存函式庫。
內容解密:
上述步驟展示瞭如何使用 GitLab API 權杖存取私人儲存函式庫。這個過程涉及建立 API 權杖、克隆儲存函式庫、提交變更和推播變更到遠端儲存函式庫。透過使用 API 權杖,可以程式化地存取和管理 GitLab 儲存函式庫。
圖表翻譯:
  flowchart TD
    A[建立 API 權杖] --> B[克隆儲存函式庫]
    B --> C[提交變更]
    C --> D[推播變更]
    D --> E[遠端儲存函式庫]
這個流程圖展示了使用 API 權杖存取私人 GitLab 儲存函式庫的步驟。從建立 API 權杖開始,到克隆儲存函式庫、提交變更和推播變更到遠端儲存函式庫。
Git版本控制與Jenkins整合
Git版本控制系統
Git是一種廣泛使用的版本控制系統,允許開發者追蹤程式碼變化並協作工作。在這個例子中,我們使用GitLab作為遠端倉函式庫。要從GitLab克隆一個倉函式庫,可以使用以下命令:
git clone https://gitlab.com/username/repository.git
這將會下載倉函式庫的內容到本地目錄。
修改程式碼並推播變化
假設我們已經克隆了倉函式庫,並且想要修改Calculator.java檔案中的Addition函式。修改後,我們可以使用以下命令將變化提交到本地倉函式庫:
git add.
git commit -m "Changed variable name in Addition function"
然後,我們可以使用以下命令將變化推播到遠端倉函式庫:
git push
這將會更新遠端倉函式庫中的程式碼。
Jenkins與GitLab整合
Jenkins是一種自動化伺服器,可以用於自動建置、測試和佈署軟體。在這個例子中,我們將使用Jenkins來建立一個自由式工作,以發布CalculatorAPI.jar檔案到Nexus倉函式庫。
步驟1:設定Maven在Jenkins中
首先,我們需要設定Maven在Jenkins中。這可以在Jenkins的全域性工具組態設定中完成。
步驟2:建立自由式工作
接下來,我們需要建立一個自由式工作。在Jenkins儀錶板中,點選「新建專案」連結,然後輸入工作名稱和選擇「自由式專案」選項。
步驟3:設定Git儲存函式庫
在「原始碼管理」部分,選擇「Git」選項,然後輸入Git儲存函式庫的HTTPS URL。
步驟4:設定憑證
點選「新增」按鈕,在「憑證」欄中,然後選擇「Jenkins」選項。這將會開啟「Jenkins憑證提供者:Jenkins」視窗。選擇「使用者名稱和密碼」選項,然後輸入GitLab使用者名稱和API令牌。
Mermaid圖表
  graph LR
    A[Git Clone] --> B[Modify Code]
    B --> C[Commit Changes]
    C --> D[Push Changes]
    D --> E[Jenkins Build]
    E --> F[Jenkins Deploy]
圖表翻譯
這個Mermaid圖表展示了Git版本控制系統和Jenkins自動化伺服器之間的工作流程。首先,我們從GitLab克隆一個倉函式庫,然後修改程式碼並提交變化。接下來,我們將變化推播到遠端倉函式庫。Jenkins自動化伺服器會檢測到變化並觸發建置和佈署過程。最終,軟體會被佈署到生產環境中。
從技術整合與佈署視角來看,本文深入探討瞭如何應用 API 權杖存取程式碼儲存函式庫,並結合 Git 版本控制和 Jenkins 自動化建置流程,展現了現代軟體開發的協同工作模式。透過詳細的步驟說明和程式碼範例,讀者能清晰理解如何使用 API 權杖進行身份驗證,進而操作 GitHub 和 GitLab 等平臺上的私有儲存函式庫。文章也點出了將 pipeline 以程式碼形式管理的優勢,例如自動化、版本控制和可重複使用性,有效提升了開發效率。然而,API 權杖的安全性管理至關重要,不當的儲存或使用方式可能導致安全風險。建議開發團隊採用更安全的權杖管理方案,例如定期輪換權杖、限制權杖的存取範圍等。展望未來,隨著 DevOps 理念的普及,預期 API 權杖的應用將更加廣泛,並與更多自動化工具深度整合,進一步推動軟體開發流程的自動化和安全性提升。對於追求效率和安全性的開發團隊而言,深入理解並妥善應用 API 權杖將是不可或缺的技能。
 
            