天天看點

2018/11/13 學習心得随手記windows環境下nginx 本地反向代理和相關http正常配置wiki、Confluence、JIRA平台相關介紹git在多人開發時的個人分支管理VScode 插件推薦

文章目錄

  • windows環境下nginx 本地反向代理和相關http正常配置
    • Nginx 簡介
    • 常用功能
    • 下載下傳安裝nginx
    • 指令行啟動、關閉、重新開機nginx
    • 簡單的本地反向代理
    • http正常配置
  • wiki、Confluence、JIRA平台相關介紹
    • wiki (多人協作的寫作系統)
    • Confluence
    • JIRA
      • JIRA是什麼
      • JIRA的主要功能
  • git在多人開發時的個人分支管理
    • 使用git tag 注意事項
    • git 相關配置
    • [git相關學習連結](https://learngitbranching.js.org/)
  • VScode 插件推薦

windows環境下nginx 本地反向代理和相關http正常配置

Nginx 簡介

  • nginx是解決基于程序模型産生的C10k問題,請求時即使無狀态連接配接如web服務都無法達到并發響應量級一萬現狀。2006年俄羅斯編寫。全稱為engine X,縮減合并稱為nginx。 官方站點:http://nginx.org/。 2013年發出企業版Nginx Plus

常用功能

  1. 靜态資源的web伺服器;
  2. http協定的反向代理伺服器;
  3. pop3, smpt,imap4等郵件協定的反向代理;
  4. 能緩存打開的檔案(中繼資料:檔案的描述符等等資訊)
  5. 支援FastCGI(php-fpm), uWSGI(Python WebFramwork)等協定機制,實作代理後端應用程式互動
  6. 高度子產品化(非DSO機制)

下載下傳安裝nginx

  • 首先在 nginx官網下載下傳中心下載下傳windows版本的nginx到指定目錄解壓即可

指令行啟動、關閉、重新開機nginx

  • 啟動:

    可以直接在根目錄下輕按兩下nginx.exe 或在此目錄處的cmd下使用 start nginx 指令行啟動nginx伺服器

  • 關閉:

    nginx.exe -s stop(快速關閉)/nginx.exe -s quit(有效完整的關閉)

  • 重新開機:

    nginx.exe -s reload

  • 重新打開日志檔案:

    nginx.exe -s reopen

    在有些的情況下執行nginx -s reload指令可能會發生如下錯誤
nginx: [error] OpenEvent("Global\ngx_reload_6252") failed (2: The system cannot find the file specified)
           

錯誤原因:nginx尚未啟動導緻,執行

start nginx

指令開啟nginx

nginx: [emerg] unexpected "}" in F:\nginx\nginx-1.14.0/conf/nginx.conf:60
           

錯誤原因:在nginx.conf配置檔案60行代碼處末尾未加上

;

簡單的本地反向代理

修改conf目錄下的nginx.conf檔案,主要配置35行左右的server

1.修改本地的釋出目錄,具體路徑對照着自己檔案位置釋出目錄

location / { 
		root  F:/cd-app/dist; #修改為你的本地的釋出目錄
	 	index index.html index.htm;
}
           

2.添加反向代理位址反向代理位址

location /gov{
	 proxy_pass http://192.168.200.124/gov; #反向代理位址
 }
           

3.配置完成後啟動nginx:運作nginx.exe檔案或者控制台敲入start nginx 指令

4.如果之前已啟動nginx,nginx重新開機指令:nginx.exe -s reload

http正常配置

想詳細學習http正常配置可點選此處連接配接,具體總結擇日補上

wiki、Confluence、JIRA平台相關介紹

wiki (多人協作的寫作系統)

Wiki是一種在網絡上開放且可供多人協同創作的超文本系統,由沃德·坎甯安于1995年首先開發,這種超文本系統支援面向社群的協作式寫作,同時也包括一組支援這種寫作。沃德·坎甯安将wiki定義為“一種允許一群使用者用簡單的描述來建立和連接配接一組網頁的社會計算系統”。

Wiki站點可以有多人(甚至任何通路者)維護,每個人都可以發表自己的意見,或者對共同的主題進行擴充或者探讨。

簡單的來說wiki是一個可以讓所有人都能參與其中包括建立、編輯、查閱等具有共享、平等的特點

它與部落格相比最大的特點在于部落格更多的是展現個性化的一面,而wiki是展現共性化的一面。

Confluence

Confluence是一個專業的企業知識管理與協同軟體,也可以用于建構企業wiki。使用簡單,但它強大的編輯和站點管理特征能夠幫助團隊成員之間共享資訊、文檔協作、集體讨論,資訊推送。

Confluence為團隊提供一個協作環境。在這裡,團隊成員齊心協力,各擅其能,協同地編寫文檔和管理項目。從此打破不同團隊、不同部門以及個人之間資訊孤島的僵局,Confluence真正實作了組織資源共享。

用Confluence建構企業wiki,真正達到項目人員之間的知識共享,共同探讨,集結衆人的想法與智慧呈現最好的資源總結。

有關Confluence的常用基本操作點選此處進行了解

JIRA

JIRA是什麼

JIRA 是目前比較流行的基于Java架構的管理系統,由于Atlassian公司對很多開源項目實行免費提供缺陷跟蹤服務,是以在開源領域,其認知度比其他的産品要高得多,而且易用性也好一些。同時,開源則是其另一特色,在使用者購買其軟體的同時,也就将源代碼也購置進來,友善做二次開發。JIRA功能全面,界面友好,安裝簡單,配置靈活,權限管理以及可擴充性方面都十分出色。

JIRA的主要功能

  • 問題追蹤和管理:用它管理項目,跟蹤任務、bug、需求,通過jira的郵件通知功能進行協作通知,在實際工作中使工作效率提高很多
  • 問題跟進情況的分析報告:可以随時了解問題和項目的進展情況
  • 項目類别管理功能:可以将相關的項目分組管理
  • 元件/子產品負責人功能:可以将項目的不同元件/子產品指派相應的負責人,來處理所負責的元件的Issues
  • 項目email位址功能:每個項目可以有不同的email(該項目的通知郵件從該位址發出)
  • 無限制的工作流:可以建立多個工作流為不同的項目使用

    對于技術人員而言JIRA是一個跟蹤項目最新動态以及bug管理的軟體平台

  1. jira分兩種類型:

    開發任務類型,由開發負責人提,在提測前close,不指派給測試;【純代碼優化都有開發人員提task,不需要更新到問題池中,但需要更新到任務清單中,讓測試知曉】BUG類型的jira統一由測試提,開發負責修複

  2. 開發的任務型jira、測試的BUG型jira 均以疊代任務清單為參照依據,任務清單必須詳細(描述清楚 應用場景、功能要點、界面、互動、權限等,包含原型、高保真);
  3. 普通開發人員若發現問題(性能、互動、BUG等),開發人員不直接提jira,而是記錄問題到每個疊代的wiki問題池(寫明提出者、重要程度),并告知測試人員,測試人員定期巡查wiki,按優先、重要等級選擇性提jira;
  4. 項目回報的問題,由測試把關,确認需要修改後再clone,然後指給開發;海雲發版後,clone的jira狀态改為closed,項目回報的原jira狀态改為resolved,并指回給項目組,由項目組确認沒問題後自行close;
  5. 提測之前:開發送出的代碼必須有明确的依據,commit message必須詳細,比如任務清單中的jira、sonar等,負責人必須嚴格稽核代碼;
  6. 提測之後:原則上,測試不提jira,開發不允許改代碼,開發送出的每一行代碼,必須附上jira編号、詳細的commit message,負責人嚴格稽核代碼;
  7. 項目上的緊急需求,經過初步測試後,提供更新更新檔給項目組,并建議項目組進行更詳細的針對性測試;
  8. 項目上的非緊急需求,安排在後續的疊代中開發,不插隊到目前疊代;

點選詳細了解JIRA的細節功能

總之 wiki 與 Confluence 、JIRA有着密不可分相輔相成的聯系當三者連在一起使用能極大的提高工作效率,提升代碼品質。

git在多人開發時的個人分支管理

在多人開發下,代碼庫至少有一個主分支master,開發環境分支develop,分别的個人分支比如:name.dev 分支

當個人git clone xxx 從遠端倉庫克隆代碼到本地時,

使用git branch 檢視目前分支其實本地隻有一個主分支master,現在,讓每個人分别從遠端分支拉兩個分支。一個是develop,一個是代表自己的那個分支,例如小明,就拉xiaoming_dev,

git pull develop:develop;
git pull xiaoming_dev:xiaoming_dev
//這個指令的意思就是拉取遠端的一個叫develop的分支,并在本地建立一個叫develop的分支和遠端的分支比對。
           

現在git branch 檢視就有三個分支master、develop、 xiaoming_dev

這樣一來使用git checkout xiaoming_dev 切換到小明的分支下可以任意的git add、git commit、git pull --rebase,git push 相關代碼。但是對于develop分支一般開發人員隻能pull 不能 push,因為任意的對開發環境分支進行推送代碼容易沖突和混亂。是以對于管理人來說合并代碼尤為重要

  • 首先管理者要git fetch origin xiaoming_dev
  • git checkout develop 切換到develop分支 git merge xiaomiing_dev 合并小明的分支有沖突解決沖突
  • 然後把本地develop push 到遠端的develop.每完成一個功能就送出一次。不要累計代碼。
  • 最後再對develop 的分支進行測試确認無誤後才合并到主分支上

    相關細節查閱此處

使用git tag 注意事項

使用git tag 注意事項:

說明:該列用來備注疊代的依賴說明、基礎環境變更等資訊。

【前端Tag規則】
不帶子產品,隻帶時間,示例:V8.0_20171020。
打Tag時,大版本需要備注是什麼子產品疊代幾發版,小版本需要備注修複Bug對應的jira編号,以及對應修複子產品 。
如果同一天發版了多個小版本,命名規則:V8.0_日期_數字編号,示例:V8.0_20171020_1.......V8.0_20171020_2。
           

備注:因為之前寫法和規範不明确,标準格式從2017.10.24開始。

【後端Tag規則】

Tag命名規則:V8.0.x.y,x是疊代号,y是bug修複版本
           

由于目前能操作cd-app檔案人員比較多,建立的個人分支也增多,不友善管理,是以成都前端團隊統一用cd字首

統一更名為:cd-xxx_dev(譬如:cd-zheng.lu_dev)

Git管理

分支管理:

1.采編中心:develop-iip

2.績效考核:develop-ipm

3.智能檢索:develop-igs

4.營運中心:develop-ido(已廢除,營運中心納入采編一并管理,統一都送出到develop-iip)

5.開發聯調環境:develop

6.測試環境:test

7.生産環境:master

git 相關配置

git config --global user.name "exanpleName"

// 配置使用者名稱,最好是自己的名字

git config --global user.email "[email protected]"

// 配置使用者郵箱

git config --global credential.helper store

// 記住賬号密碼(在工作中需要頻繁的送出/拉取遠端git倉庫,每次都需要輸入賬号密碼效率很低,在私人電腦上建議配置,考慮安全問題,切忌在公用電腦上配置)

git相關學習連結

https://learngitbranching.js.org

VScode 插件推薦

jsx标簽自動補全設定

file-preferences-settings 增加
"emmet.includeLanguages": {
    "javascript": "javascriptreact"
}
"emmet.triggerExpansionOnTab": true
           
  • 格式化jsx 代碼

    安裝 beautiful 和 rc-beautiful 使用ctrl+b 或者 alt+shift+f 進行格式化

  • Easy less

    功能:儲存Less檔案時,自動将該Less檔案編譯為同名css檔案;

    快捷鍵:Ctrl + S

  • Setting Sync 同步你的vs code設定
  • VScode-fileheader

    功能:為檔案添加備注,儲存時自動更新檔案更新時間;

    預設快捷鍵:Ctrl + Alt + i

  • Autoprefixer 自動補全css屬性對于不同浏覽器核心的字首
  • Regex Previewer 正規表達式實時調式工具
  • RegExp Preview and Editor 正規表達式的圖形化預覽和編輯插件

繼續閱讀