docker 如何不使用 sudo 管理權限身份執行 取得連結 Facebook X Pinterest 電子郵件 其他應用程式 - 9月 25, 2023 一般來說 Docker 剛安裝完成時,會需要使用管理權限來運行 Docker,那如果不想使用 sudo 權限運行,又想直接使用 Docker 命令,以下有幾種遵循方式 1. 將使用者名稱加入至 Docker 中 sudo usermod -aG docker $USER 2. 再來切換使用者使用的群組 newgrp docker 取得連結 Facebook X Pinterest 電子郵件 其他應用程式 留言
yarn 專案版號管理指令 - 10月 06, 2023 前言 yarn 是由 facebook 開發的一款套件管理工具,用來管理 node.js 套件版本,今天來學習如何使用 yarn 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 yarn version --new-version major 範例 v1.0.0 -> v2.0.0 minor 目標升級版號 指令 yarn version --new-version minor 範例 v1.0.0 -> v1.1.0 patch 目標升級版號 指令 yarn version --new-version patch 範例 v1.0.0 -> v1.0.1 premajor 目標升級版號 指令 yarn version --new-version premajor 範例 v1.0.0 -> v2.0.0-0 preminor 目標升級版號 指令 yarn version --new-version preminor 範例 v1.0.0 -> v1.1.0-0 prepatch 目標升級版號 指令 yarn version --new-version prepatch 範例 v1.0.0 -> v1.0.1-0 prerelease 目標升級版號 指令 yarn version --new-version prerelease 範例 v1.0.0 -> v1.0.1-0 若再一次的話 v1.0.1-0 -> v1.0.1-1 閱讀更多
Gitlab CI/CD 之 when - 12月 23, 2023 前言 上次教到如何使用 environment 去自動設置我們環境那些,今天我們要教 CI/CD 中的 when,通常在自動化佈署上線流程,並不會一路像前幾次一樣,先佈署到測試機,再佈署 demo 機,最後佈署到正式機,我們在佈署正式機的時候,通常會做一個防呆,比如說做成一個指令集,或者是按鈕等等,以避免出嚴重大錯 when 作用 when 是可以幫助我們在自動化佈署時,可以定義那些工作,是可以不要這麼早,就有所動作,等到我們比較確定的時候,比如說我們按下按鈕,這個工作才會開始運作,所以也可以讓我們做個半自動化,而不是全自動化 when 定義 when 這個 script 在 Gitlab CI/CD 底下提供了一些語法,以下是在 Gitlab 官網所到的,在文章的最地下,會提供相關網址 在我個人比較常使用的是 manual 這個語法,他可以在工作前,提供一個按鈕,讓我們手動按下去,才執行工作,有如以下範例 image: mcr.microsoft.com/dotnet/sdk:6.0 stages: - deploy deploy: stage: deploy when: manual script: - echo 'deploy service' 練習時間 接下來我們開始使用這個 when 語法,在我們 deploy-to-production 這個工作加上 when 這個語法,讓我們正式機不要這麼快馬上上線 image: mcr.microsoft.com/dotnet/sdk:6.0 stages: - deploy .deploy: tags: - shell ... 閱讀更多
Gitlab CI/CD 什麼是 CI/CD - 11月 05, 2023 前言 什麼是 CI/CD ? CI/CD 可以幫助我們做到什麼事情? 為什麼要有 CI/CD ? 在傳統程式上線流程,例如可能要透過 FTP 上傳至伺服器,接著去修改環境變數,然後測試程式是否運作正常,然後伺服器重新開機就上線了。 在近代程式上線流程,例如說會有個像 Gitlab、GitHub 或者是 Jenkins,會有程式碼版控系統,把程式碼上傳上去至平台上,然後可能還跑一些測試,然後開啟 FTP,將程式碼上傳至伺服器,修改環境變數,然後就上線。 在現在程式上線流程,一樣會有個像 Gitlab、Jenkins 這樣的平台,然後我們將我們寫好的程式功能,上傳到平台上,接著我們會寫一些自動化測試的功能及自動化佈署的功能腳本,然後這些平台會去讀取我們撰寫好的腳本,去跑測試,以及佈署,可以幫助我們簡化許多佈署流程,整個佈署流程有如以下圖 什麼是 CI ? CI(Continuous Integration) 是指持續整合,也就是在工程師,在撰寫程式新功能,或者修正 Bug,上傳到 GitLab 平台,然後如果功能沒有問題打包 Docker Image,在這過程叫持續整合。 什麼是 CD ? CD(Continuous Delivery/Deployment) 是指時序交付或是持續佈署,在程式碼寫完沒問題,要佈署到伺服器,這個過程叫做時序佈署,那為什麼還會有持續交付,那是因為通常會準備是少兩個或三個環境,來進行模擬上線,測試系統功能是否正常,如果在 development 主機及 staging 主機有問題時,在重新修補功能,然後再次模擬上線及測試系統功能,在最後一切沒有問題時,佈署近正式主機,以達成上線功能。 以持續交付的話,有如上圖在不斷有新功能佈署到 development 和 staging 主機的這過程,可叫持續交付 以持續佈署的話,有如上圖不斷佈署至 development 、staging 和 production,這整個大框架叫持續佈署 閱讀更多
留言
發佈留言