README.md 11.8 KB
Newer Older
Kevin.Kuo's avatar
Kevin.Kuo committed
1
# 系統資訊
iris fang's avatar
iris fang committed
2

3 4
## 正式環境前端: 
* URL: https://outstanding-paper-award.nsrrc.org.tw/
iris fang's avatar
iris fang committed
5

6 7 8 9
## 正式環境後端: 
* URL: https://outstanding-paper-award.nsrrc.org.tw/Apply/Account/LoginPage
* 帳號: kevin.kuo@3rd-gate.com
* 密碼: 1qaz@WSX3edc
iris fang's avatar
iris fang committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
	
## 正式環境資料庫連線資料
* 伺服器名稱: 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
iris.fang's avatar
iris.fang committed
70
1. 開啟 Windows PowerShell
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
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

iris.fang's avatar
iris.fang committed
110 111 112 113 114 115 116
	如果出現錯誤訊息: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 就會成功。

117 118 119 120 121 122 123 124 125 126
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
iris fang's avatar
iris fang committed
127 128
	
6. 輸入以下內容,並在後續輸入 yes,即可綁定並登入
129 130 131 132 133 134 135 136 137 138 139 140

	   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!

iris fang's avatar
iris fang committed
141
### 以 SourceTree 拉取專案內容
142 143 144 145 146 147 148 149 150 151
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】

iris fang's avatar
iris fang committed
152
#### 如果出現錯誤訊息: SSL certificate problem: self signed certificate
153 154 155 156 157
1. 開啟 SourceTree,點選 Tools > Options
2. 點選 Git 頁籤
3. 勾選 "Disable SSL certificate validation (note: potentially insure)"
4. 點選 OK
5. 重開 SourceTree,再次執行 拉取專案內容 流程
Kevin.Kuo's avatar
Kevin.Kuo committed
158

iris fang's avatar
iris fang committed
159
## TortoiseGit
iris.fang's avatar
iris.fang committed
160 161
1. 在任何一個地方點選滑鼠右鍵 > 點選「TortoiseGit」> 點選「Settings」> 點選「Network」
2. 最下方 SSH client 路徑預設應該在「C:\Program Files\TortoiseGit\bin\TortoisePlink.exe」,改成「C:\Program Files (x86)\Git\bin\ssh.exe」並點選「套用」、「確定」
iris fang's avatar
iris fang committed
162
   (教學請參考:https://stackoverflow.com/questions/8846972/tortoisegit-asking-password )
iris.fang's avatar
iris.fang committed
163 164 165 166 167 168 169
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)

iris fang's avatar
iris fang committed
170
# 正式 / 測試環境部版
171 172
1. 準備部版程式與SQL腳本
	1.1. 將程式放到客戶的git上
iris fang's avatar
iris fang committed
173
		1.1.1 將「交付」版本合併到 master 分支上(註:廠商沒有權限將程式放到 master 分支,需請正浩 merge-請參考 README.MD 的「Create New Merge Request」)
174
		1.1.2 將「上線」版本合併到 develop 分支上
iris fang's avatar
iris fang committed
175 176
	1.2. 透過 cyberark 連進客戶環境(申請與連線方式-請參考 README.MD 的「申請流程-申請遠端桌面連線」)
	1.3. 開啟 Microsoft Edge,連到客戶 GitLab 進到 OPA,將分支換到 develop 後下載專案
177 178
		* GitLab : https://140.110.201.20
	1.5. 開啟專案進行發布,發布位置預設為 C:\IIS_Site_opaward
179 180 181
	1.4. 將公司內部分支 master 上的 doc/release/1.1的SQL腳本(Insert、CreateTable、AlterTable)放在客戶環境的桌面

2. 備份作業
iris fang's avatar
iris fang committed
182 183 184
	2.1. 開啟 IIS,根據正式/測試環境前往以下站台:
		2.1.1 正式環境 OPAward_Home
		2.1.2 測試環境 OPAward_HOME_TEST
185 186
	2.2. 點選右側動作區塊的【瀏覽】,可開啟站台的資料夾位置(opaward_static)
	2.3. 前往上一層(ex: IIS_Site_opaward),全選所有資料夾,點選右鍵 傳送到 > 壓縮的 (zipped) 資料夾
187 188 189 190
	2.4. 在桌面建立資料夾(命名:yyyyMMdd),資料夾中會有:
		2.4.1 系統壓縮檔案(會被放在桌面),剪下後貼上
		2.4.2 發布後的檔案(C:\IIS_Site_opaward),整個資料夾剪下後貼上
	2.5. 兩個檔案放進去後,將資料夾進行壓縮 (yyyyMMdd.zip)
iris fang's avatar
iris fang committed
191 192 193
	2.6. 前往 C:\IIS_Site_backup,根據正式/測試環境前往以下資料夾,並將壓縮檔案剪下後貼到以下資料夾,然後更名為 Opaward_{yyyyMMdd}.zip
		2.6.1 正式環境 IIS_Site
		2.6.2 測試環境 IIS_Site_Test
194 195 196 197 198
	
	*註: 有和正浩確認過資料庫已有備份機制,不必再進行資料庫備份
	
3. 部版作業
	3.1. 執行放在桌面上SQL腳本(Insert、CreateTable、AlterTable)
199 200
	3.2. 將程式覆蓋到站台的資料夾,項目有
		3.2.1 後台程式,由發布後的程式資料夾(IIS_Site_opaward)的以下三項:
201 202 203
			* BIN整個資料夾
			* View整個資料夾
			* 新的流程圖Content\coreui\brand\FlowChart.png
204
		3.2.2 前台程式,開啟從 GitLab 下載專案資夾中的OPAward.Static以下兩項:
205 206 207 208 209 210 211 212 213 214
			* 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	
			
215 216 217 218
4. 部板完成後,移除以下內容
	4.1 壓縮前的備份資料夾(yyyyMMdd)
	4.2 SQL腳本
	4.3 由 GitLab 下載的專案資料夾
219

iris fang's avatar
iris fang committed
220 221 222 223 224 225 226 227
# 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,客戶會同步這二個分支)。