# 系統資訊 ## 正式環境前端: * URL: https://outstanding-paper-award.nsrrc.org.tw/ ## 正式環境後端: * URL: https://outstanding-paper-award.nsrrc.org.tw/Apply/Account/LoginPage * 帳號: kevin.kuo@3rd-gate.com * 密碼: 1qaz@WSX3edc ## 正式環境資料庫連線資料 * 伺服器名稱: db01.nsrrc.org.tw * 帳號: OPAOwner * 密碼: OPAOwner@WSXZAQ! * 資料庫: OutstadingPaperAward # 申請流程 ## 正式環境後端-帳號申請: 1. 前往 [後端](https://outstanding-paper-award.nsrrc.org.tw/Apply/Account/LoginPage),勾選同意後填寫註冊資料,完成註冊。 2. 前往前一個步驟填寫的 email 信箱,會收到標題為**NSRRC光環論文獎-帳號啟用通知**的信件,會提供登入密碼。 3. 回到 [後端](https://outstanding-paper-award.nsrrc.org.tw/Apply/Account/LoginPage),輸入 email 及密碼後,會重新輸入新的密碼,完成後會導頁到登入頁。 4. 在以新的帳密登入後,回到首頁,再請窗口調整人員群組。 ## GitLab-帳號申請: 1. 跟窗口確認新帳號要連到 Gitlab,並提供帳號(ex: kevin.kuo@3rd-gate.com)、姓名(ex: 郭軒竑)及密碼(ex: 1qaz@WSX)。 2. 客戶會寄出邀請信,標題為 {窗口姓名} invited you to join GitLab,點選 Join Now。 3. 跳轉新分頁,開啟 Gitlab 登入頁面,輸入以下資料後點選登入: * 選擇頁籤**Standard** * 輸入帳號 * 輸入密碼 4. 登入成功後,即可顯示專案清單: * 如果登入後,顯示 Page Not Found,可能是因為客戶尚未開啟開帳號的專案權限,需請客戶設定後再重新整理。 5. 請客戶提供申請單(ex: ISMS-04-031 資訊系統帳號服務申請單_V1.0 - ISMS-R-031-240315-Gitlab_OPA.docx),列印出後填寫以下資訊: * 基本資料 * 申請人/申請人主管 6. 填寫後掃描成電子檔,寄信通知窗口,完成該流程。 ## 申請遠端桌面連線: 1. 開啟[連結](https://140.110.201.136/PasswordVault/v10/logon/cyberark) * 登入帳號/密碼為 InterimUser / 3Gate@06281034 2. 尋找對應的帳號,在 Filter 欄位輸入 140.110.201.12 3. 在下方清單會看到篩選後的結果(應該只有一個),點選最右邊欄位 Request connection,填寫申請: * Reason 的格式為: 1. 申請原因:(須帶#issue ID,例外狀況時須描述原因可不帶issue ID) 2. 工作內容:(簡述連線要做什麼事,不能做非申請內容以外無關的作業) 3. 申請人單位姓名:(ex: 三號口資訊科技股份有限公司 郭軒竑) * Request timeframe: 無特別規定,合理就行 * 例如說這件工作1個小時內就能完成,申請2、3個小時還沒問題,但申請一個星期這個就會被稽 * Multiple access is required * 未勾選為單次(一張單只能下載/開啟一次連線檔) * 勾選為連續(一張單可在申請期間內不限下載連線檔,一個檔案開啟過後要重連要重新下載) 視情況勾選。但因為需切換 wifi,基本上都勾選比較方便。 4. 點選 Send Request 後,跟窗口(正浩)同步,待審核回復。 * 如果審核未過會退回並寄出信件到 kevin.kuo@3rd-gate.com,收信確認問題原因。 5. 如果窗口審核通過,更新畫面後按鈕會變成 Connect,點選後會下載 rdp 檔案,點選後即可開啟遠端視窗 # GitLab Clone Project ## SourceTree ### 設定 SSH Key 1. 開啟 Windows PowerShell 2. 輸入以下內容,將 kevin.kuo@3rd-gate.com 替換成需要的帳號 ssh-keygen -t ed25519 -C "kevin.kuo@3rd-gate.com" 會呈現以下範例: Generating public/private ed25519 key pair. Enter file in which to save the key (C:\Users\Kevin.Kuo/.ssh/id_ed25519): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\Kevin.Kuo/.ssh/id_ed25519 Your public key has been saved in C:\Users\Kevin.Kuo/.ssh/id_ed25519.pub The key fingerprint is: SHA256:LX3sByj3iGI5gNRlNCxc6F+Jkk9y13/L+e5Fm9Lg4Gg kevin.kuo@3rd-gate.com The key's randomart image is: +--[ED25519 256]--+ | . =* | | .+o.. | | ...o . o | | . .= + +o.o | | . .B oV =E+o .| | .o. = =*.=.o| | = . ..o*.*.| | . o .= .| | ++| +----[SHA256]-----+ 3. 輸入以下內容,將新增的 SSH Key 新增到 known_hosts ssh-keyscan -H 140.110.201.20 >> ~/.ssh/known_hosts 會呈現以下範例: # 140.110.201.20:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 # 140.110.201.20:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 # 140.110.201.20:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 # 140.110.201.20:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 # 140.110.201.20:22 SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 如果出現錯誤訊息:The system cannot find the path specified. 1. 原因:如果以系統管理員身分執行 Windows PowerShell、路徑在「C:\Windows\system32」,會出現這個錯誤訊息。 2. 說明:因為系統會將「~/.ssh/known_hosts」的「~」視為「C:\Windows\system32」,完整路徑即為「C:\Windows\system32/.ssh/known_hosts」,但 SSH Key 不在這個路徑下。 3. 解決方法: * (1) 參考上面步驟「設定 SSH Key」>「2. 輸入以下內容...」>「會呈現以下範例:」> 第二行最後的路徑,這篇範例是「C:\Users\Kevin.Kuo/.ssh/id_ed25519」。 * (2) 把「~/.ssh/known_hosts」的「~」、替換成「C:\Users\Kevin.Kuo」,即絕對路徑「C:\Users\Kevin.Kuo/.ssh/known_hosts」,再按 Enter 就會成功。 4. 輸入以下內容,將建立的 SSH Key 內容複製 cat ~/.ssh/id_ed25519.pub | clip 5. 將上述步驟的內容設定到 Gitlab 1. 前往 [Gitlab](https://140.110.201.20),並以先前步驟設定的帳號登入 2. 點選右上角圖示 > Edit Profile 3. 左側點選 SSH Key,點選右側 Key 的視窗,輸入 Ctrl + V 貼上內容 4. Title 預設會填上先前步驟設定的帳號 5. 點選 Add Key 6. 輸入以下內容,並在後續輸入 yes,即可綁定並登入 ssh -T git@140.110.201.20 會呈現以下範例: The authenticity of host '140.110.201.20 (140.110.201.20)' can't be established. ED25519 key fingerprint is SHA256:IC5SIN/rjZH992jyZKZqDPYOvzJI0t2sGbBrjDId9to. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '140.110.201.20' (ED25519) to the list of known hosts. Welcome to GitLab, @kevin.kuo! ### 以 SourceTree 拉取專案內容 1. 開啟 SourceTree,並新增一個頁籤 2. 點選 Clone 頁籤 3. 輸入以下資訊 1. Source Path / Url: https://140.110.201.20/root/opa.git,並離開該行 2. 會跳出登入視窗,輸入帳號密碼後確認,Repository Type 會回覆: This is a Git repository 3. Destination Path: 輸入存取的路徑 4. Name: 輸入頁籤要呈現的名字 5. Local Folder: [Root] 4. 點選【Clone】 #### 如果出現錯誤訊息: SSL certificate problem: self signed certificate 1. 開啟 SourceTree,點選 Tools > Options 2. 點選 Git 頁籤 3. 勾選 "Disable SSL certificate validation (note: potentially insure)" 4. 點選 OK 5. 重開 SourceTree,再次執行 拉取專案內容 流程 ## TortoiseGit 1. 在任何一個地方點選滑鼠右鍵 > 點選「TortoiseGit」> 點選「Settings」> 點選「Network」 2. 最下方 SSH client 路徑預設應該在「C:\Program Files\TortoiseGit\bin\TortoisePlink.exe」,改成「C:\Program Files (x86)\Git\bin\ssh.exe」並點選「套用」、「確定」 (教學請參考:https://stackoverflow.com/questions/8846972/tortoisegit-asking-password ) 3. 回到 [Gitlab](https://140.110.201.20) ,進入「Administrator / OPA」專案 4. 進入 OPA 專案之後,點選藍色的 Clone 按鈕 > 點選 Clone with SSH 右側的複製按鈕 5. 再回到本機要存放專案內容的資料夾,點選滑鼠右鍵 > 點選「Git Clone...」> 將剛才複製的內容貼到 URL 欄位 > 點選 OK 6. 第 5. 個步驟完成之後、應該就可以成功把專案拉取下來。但如果 Git 還是跳出要求輸入密碼的視窗:請先取消、回到第 2. 個步驟,將 SSH client 路徑改成以下其一試試看: * C:\Users\...\AppData\Local\Programs\Git\usr\bin\ssh.exe * C:\Program Files\Git\usr\bin\ssh.exe (Git 2.37.3) # 正式 / 測試環境部版 1. 準備部版程式與SQL腳本 1.1. 將程式放到客戶的git上 1.1.1 將「交付」版本合併到 master 分支上(註:廠商沒有權限將程式放到 master 分支,需請正浩 merge-請參考 README.MD 的「Create New Merge Request」) 1.1.2 將「上線」版本合併到 develop 分支上 1.2. 透過 cyberark 連進客戶環境(申請與連線方式-請參考 README.MD 的「申請流程-申請遠端桌面連線」) 1.3. 開啟 Microsoft Edge,連到客戶 GitLab 進到 OPA,將分支換到 develop 後下載專案 * GitLab : https://140.110.201.20 1.5. 開啟專案進行發布,發布位置預設為 C:\IIS_Site_opaward 1.4. 將公司內部分支 master 上的 doc/release/1.1的SQL腳本(Insert、CreateTable、AlterTable)放在客戶環境的桌面 2. 備份作業 2.1. 開啟 IIS,根據正式/測試環境前往以下站台: 2.1.1 正式環境 OPAward_Home 2.1.2 測試環境 OPAward_HOME_TEST 2.2. 點選右側動作區塊的【瀏覽】,可開啟站台的資料夾位置(opaward_static) 2.3. 前往上一層(ex: IIS_Site_opaward),全選所有資料夾,點選右鍵 傳送到 > 壓縮的 (zipped) 資料夾 2.4. 在桌面建立資料夾(命名:yyyyMMdd),資料夾中會有: 2.4.1 系統壓縮檔案(會被放在桌面),剪下後貼上 2.4.2 發布後的檔案(C:\IIS_Site_opaward),整個資料夾剪下後貼上 2.5. 兩個檔案放進去後,將資料夾進行壓縮 (yyyyMMdd.zip) 2.6. 前往 C:\IIS_Site_backup,根據正式/測試環境前往以下資料夾,並將壓縮檔案剪下後貼到以下資料夾,然後更名為 Opaward_{yyyyMMdd}.zip 2.6.1 正式環境 IIS_Site 2.6.2 測試環境 IIS_Site_Test *註: 有和正浩確認過資料庫已有備份機制,不必再進行資料庫備份 3. 部版作業 3.1. 執行放在桌面上SQL腳本(Insert、CreateTable、AlterTable) 3.2. 將程式覆蓋到站台的資料夾,項目有 3.2.1 後台程式,由發布後的程式資料夾(IIS_Site_opaward)的以下三項: * BIN整個資料夾 * View整個資料夾 * 新的流程圖Content\coreui\brand\FlowChart.png 3.2.2 前台程式,開啟從 GitLab 下載專案資夾中的OPAward.Static以下兩項: * OPAward.Static\NSRRC\index.html * OPAward.Static\NSRRC\Content整個資料夾 3.3. 透過以下網址確認部版已完成 3.3.1 正式環境前端: * URL: https://outstanding-paper-award.nsrrc.org.tw/ 3.3.2 正式環境後端: * URL: https://outstanding-paper-award.nsrrc.org.tw/Apply/Account/LoginPage * 帳號: kevin.kuo@3rd-gate.com * 密碼: 1qaz@WSX3edc 4. 部板完成後,移除以下內容 4.1 壓縮前的備份資料夾(yyyyMMdd) 4.2 SQL腳本 4.3 由 GitLab 下載的專案資料夾 # Create New Merge Request(將 feature 分支合併至 n_master 分支的流程) 1. 前往 [Gitlab](https://140.110.201.20),並以先前步驟設定的帳號登入。 2. 在左列選單點選 Create New Merge Request。 3. 將本次要 merge 的 feature 分支指向 n_master 分支,請注意-敘述欄位需關聯對應 Issue(在欄位內以 # 字號加上 Issue 編號即可,例如 #83)。 4. 完成 3. 之後,通知正浩 Approve Merge Request 並執行 merge 作業。 5. 正浩通知 merge 完成之後,再回到 Merge requests 頁面、將「Overview」和「Changes」這二個頁籤截圖、並貼入完工結案報告。 *註:目前客戶 GitLab 有 n_master 分支和 master 分支-客戶是以 n_master 分支為主(不過根據 Git Log,客戶會同步這二個分支)。