# 系統資訊
## 正式環境前端: 
* 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
## 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
5. 輸入以下內容,並在後續輸入 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」並點選「套用」、「確定」
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)
	第 2. 個步驟教學請參考:https://stackoverflow.com/questions/8846972/tortoisegit-asking-password

# 申請項目
## 正式環境後端
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. 填寫後掃描成電子檔,寄信通知窗口,完成該流程。