gf-cli v0.7.4 發布,GoFrame 開發工具鏈

2020-12-27 開源中國

大家好啊,GoFrame框架隆重推出了開發工具鏈項目,該工具鏈通過CLI命令行工具提供,工具開源項目地址:https://github.com/gogf/gf-cli 

完整命令

$ gfUSAGE gf COMMAND [ARGUMENT] [OPTION]COMMAND get install or update GF to system in default... gen automatically generate go files for ORM models... run running go codes with hot-compiled-like feature... init initialize an empty GF project at current working directory... help show more information about a specified command pack packing any file/directory to a resource file, or a go file build cross-building go project for lots of platforms... docker create a docker image for current GF project... swagger parse and start a swagger feature server for current project... update update current gf binary to latest one (might need root/admin permission) install install gf binary to system (might need root/admin permission) version show current binary version infoOPTION -y all yes for all command without prompt ask -?,-h show this help or detail for specified command -v,-i show version informationADDITIONAL Use 'gf help COMMAND' or 'gf COMMAND -h' for detail about a command, which has '...' in the tail of their comments.

install 工具安裝

使用方式:./gf install

該命令往往是在gf命令行工具下載到本地後執行(注意執行權限),用於將gf命令安裝到系統環境變量默認支持的目錄路徑中,以便於在系統任何的地方直接可以使用gf工具。

部分系統需要管理員權限支持。

如果是MacOS下使用zsh的小夥伴可能會遇到別名衝突問題,可以通過alias gf=gf來解決。

version 工具版本查看

使用方式:

用以查看當前gf命令行工具編譯時的版本信息。例如:

$ gf -vGoFrame CLI Tool v0.7.4, https://goframe.orgInstall Path: /usr/local/bin/gfBuild Detail: Go Version: go1.14 GF Version: v1.12.2 Git Commit: bd19f7af64f9d34fac2d4d10043ff8020a1ec74a Build Time: 2020-04-18 14:41:58

init 項目初始化

使用方式:gf init [NAME]

我們可以使用init命令在當前目錄生成一個示例的GF空框架項目,並可給定可選的項目名稱參數。生成的項目目錄結構僅供參考,根據業務項目具體情況可自行調整。

GF框架開發推薦統一使用官方的go module特性進行依賴包管理,因此空項目根目錄下也有一個go.mod文件。

build 交叉編譯

使用方式:gf build FILE [OPTION]

僅限於交叉編譯使用到GF框架的項目,支持絕大部分常見系統的直接交叉編譯。並且支持配置文件管理編譯選項、嵌入編譯時變量,默認嵌入的編譯時變量包括(參考gf -v):

  1. 當前Go版本。
  2. 當前GF版本。
  3. 當前編譯時間。
  4. 當前Git Commit(如果存在)。

配置選項的釋義同命令行同名選項。

編譯時的內置變量可以在運行時通過gbuild包獲取。

gen 代碼生成命令

使用方式:gf gen model [PATH] [OPTION]

gen命令用以自動化從資料庫直接生成模型文件。可以參考gf-demos示例項目中的模型文件即是通過該命令生成的:https://github.com/gogf/gf-demos/tree/master/app/model

模型生成採用了Active Record設計模式。該命令將會根據數據表名生成對應的目錄,該目錄名稱即數據表包名。目錄下自動生成3個文件:

  1. 數據表名.go 自定義文件,開發者可以自由定義填充的代碼文件,僅會生成一次,每一次模型生成不會覆蓋。
  2. 數據表名_entity.go 表結構文件,根據數據表結構生成的結構體定義文件,包含欄位注釋。數據表在外部變更後,可使用gen命令重複生成更新該文件。
  3. 數據表名_model.go 表模型文件,為數據表提供了許多便捷的CURD操作方法,並可直接查詢返回該表的結構體對象。數據表在外部變更後,可使用gen命令重複生成更新該文件。

數據表模型生成支持的資料庫類型為:MySQL/MariaDBPostgreSQLSQLiteSQLServer。目前暫不支持Oracle,若有需求請聯繫作者。

run 熱編譯(自動編譯)

使用方式:gf run FILE

由於Go是不支持熱編譯特性的,每一次代碼變更後都要重新手動停止、編譯、運行代碼文件。run命令也不是實現熱編譯功能,而是提供了自動編譯功能,當開發者修改了項目中的go文件時,該命令將會自動編譯當前程序,並停止原有程序,運行新版的程序。

run命令會遞歸監控當前運行目錄的所有go文件變化來實現自動編譯。

get 依賴包下載

使用方式:gf get PACKAGE

gf get命令和go get命令類似,內部自動提供了代理設置功能,並智能識別並設置最快的下載代理地址。

docker 鏡像編譯

使用方式:gf docker [FILE] [OPTIONS]

自動編譯並生成docker鏡像。非必需FILE參數為編譯文件路徑,默認為main.go。非必需參數OPTIONSdocker build命令相同參數及選項。

update 工具更新

使用方式:gf update

該命令用以檢測gf命令行工具的版本,並自動執行版本更新。

部分系統需要管理員權限支持。如果更新失敗,請手動重新下載更新。

pack 二進位打包

使用方式:gf pack SRC DST

該命令用以將任意的文件打包為二進位文件,或者Go代碼文件,可將任意文件打包後隨著可執行文件一同發布。此外,在build命令中支持打包+編譯一步進行,具體請查看build命令幫助信息。

help 命令行幫助

使用方式:

  • gf -h
  • gf -?
  • gf help [COMMAND]
  • gf [COMMAND] -h

任何不懂的,就用help看看吧。

相關焦點

  • GoFrame v1.11 發布,Go 基礎開發框架
    GF(Go Frame) https://goframe.org 是一款模塊化、高性能、生產級的Go基礎開發框架
  • GoFrame v1.14.1 強勢發布!模塊化、高性能、生產級的 Go 開發框架
    實現了比較完善的基礎設施建設以及開發工具鏈,提供了常用的基礎開發模塊,如:緩存、日誌、隊列、數組、集合、容器、定時器、命令行、內存鎖、對象池、配置管理、資源管理、數據校驗、數據編碼、定時任務、資料庫 ORM 、TCP/UDP 組件、進程管理 /通信等等。
  • gmanager v1.1.4 發布,基於 GoFrame 的管理平臺
    安裝gf官網建議項目目錄進行重構2.使用gf gen model生成model層,但json使用駝峰格式3. gf升級到最新版本V1.11.4gmanager 基於gf框架的管理後臺,支持登錄、認證、組織機構、用戶帳號、角色權限、菜單、操作日誌 gmanager已全面支持前後端分離,同時也支持服務端模板部署; 登錄組件使用
  • OpenSIPS新CLI工具OpenSIPS-CLI 使用概覽
    opensips-3.0以前的版本一直使用opensipsctl 來實現對伺服器端的一些配置的管理,常見的場景例如添加SIP 帳號分機等。不過,從OpenSIPS-3.0版本開始,OpenSIPs的接口工具開始使用OpenSIPS-CLI來實現,opensipsctl就不再使用。
  • 命令行工具開發:如何快速實現命令行提示?
    不少同學喜歡開發命令行工具,主要是開發快捷,而且和其他命令行工具配合,藉助腳本,非常容易實現一些任務的自動化。命令行工具開發比較簡單,以Java舉一個例子,通常我們只需要一個命令行參數解析器,如Java,就有args4j, jopt,picocli等,轉換為結構化的對象,根據輸入的參數進行相關的邏輯判斷,完成對應的邏輯。
  • Jenkins CLI 命令行 v0.0.27
    截止到編輯本文時,GitHub 上統計到的下載量為:4,985次。GitHub 上的 Star 數為146,碼雲上的 Star 數為87。另外,為了讓更多的 Jenkins 用戶儘快地熟悉 Jenkins CLI 的功能,並上手改進日常的工作。
  • PowerToys v0.17 發布,微軟開發的免費實用工具集
    IT之家5月1日消息 微軟發布了 PowerToys v0.17 版本。新版本添加了自動更新(Auto-updating)功能,0.18 版本發布時即可體驗。除此之外,主要更新內容包括:FancyZone 現在可以捕捉到兩個區域(由於它不支持將應用還原到兩個區域,因此仍處於實驗階段)在 0.16 中的回歸被修復後,非管理員用戶將可以再次使用 PowerToys修復了大多數 FancyZones 虛擬桌面的 bug
  • zyplayer-doc 1.0.7 發布,簡單好用的 WIKI 文檔工具、資料庫管理...
    zyplayer-doc是一款定位為公司內部和個人使用的在線工具,現有資料庫文檔、WIKI文檔、swagger 文檔、dubbo文檔、ElasticSearch文檔等,管理端具有人員管理、權限管理功能等功能
  • Pika 3.4.0 發布,從單機到集群
    pika 3.4.0 發布了。
  • Ant Design 4.0 發布,來看看如何升級?
    Ant Design 4.0正式版於 2 月 28 日提前發布,本文將幫助你從antd 3.x版本升級到antd 4.x版本。升級準備請先升級到 3.x 的最新版本,按照控制臺 warning 信息移除/修改相關的 API。升級項目 React 16.12.0 以上。
  • 微軟Win10 工具集 PowerToys v0.25.0 發布:支持中文等語言
    外媒WinBeta報導,近期微軟發布了PowerToys v0.25.0版本,該版本的重點是為終端用戶和開發者在穩定性、質量以及一些重大的可訪問性方面做出改進。
  • YoMo v0.7.0 發布:挖掘5G潛力,釋放實時計算價值
    打開APP YoMo v0.7.0 發布:挖掘5G潛力,釋放實時計算價值 Gitee快訊 發表於 2021-01-08 11:43:58
  • aelf Enterprise 1.0.0 Preview 1 版正式發布
    3月27日,aelf Enterprise 1.0.0 Preview 1 版正式發布。aelf Enterprise 1.0.0 preview 1 版是一個整體的區塊鏈商業化解決方案,包含完備的區塊鏈系統、開發套件、開發文檔、以及配套的基礎應用和基礎服務。
  • 微軟Win10 免費工具集 PowerToys v0.20.1 發布
    IT之家8月7日消息 微軟 PowerToys 免費系統實用工具套件從 Windows XP 時代復活,並於 2019 年 5 月引入 Windows 10 系統。目前,PowerToys v0.20.1 已於昨日發布,這是一個補丁版本,修復了一些 v0.20 版本中對穩定性很重要的項目。
  • TsDotaRPG v1.0.1 發布,Dota2 自定義遊戲開發模板
    TsDotaRPG v1.0.1 已發布。
  • MSMG ToolKit v11.0中文版 window 精簡工具
    MSMG工具箱(MSMG ToolKit),Windows系統精簡工具,用於對系統映像集成或者移除指定的功能、組件或映像中的內置應用。從精簡的角度講,此工具箱的精簡目的非極限精簡;從集成的角度講,此工具箱是一個操作方便的集成工具,可自定義系統映像中的功能,從而實現批量部署,節省了軟體本身的部署時間。
  • PowerToys v0.16 發布,新增三款實用工具
    微軟發布了 PowerToys v0.16 版本,該版本新增了三個名為 Window Walker、PowerPreview 和
  • 微軟Win10 免費工具集 PowerToys v0.19.0 發布 用於快速搜索程序
    微軟名為PowerToys的免費系統實用工具套件從Windows XP時代復活,並於2019年5月引入Windows 10系統。可以用於高級用戶調整和簡化 Windows 操作,以提高效率。通過 Windows 10 shell 使用,同時讓用戶可以自定義各個工作流。
  • 【工具】《怪物獵人:世界》裝備幻化工具 v1.0.7 來搭配一個炫酷的你,你們所需的本土中文版來了!更新適配WE版!
    其中有部分代碼借鑑自N網approved幻化工具中文化修改而來,感謝原作者的提供的寶貴經驗。另外很多玩家需要的WEGAME版此次更新也帶來了,本資源內涵steam、wegame雙版本。5.遊戲中切換場景或者進出房屋即可看到最新的效果6.聯機中可用,別人可以看到你的裝備  注意事項:該工具已經適配WEGAME,請選擇不同的版本運行,需要.net4.5支持庫。
  • 一張圖教你快速玩轉vue-cli3
    } else {// 為開發環境修改配置...} else {// 為開發環境修改配置...>"@vue/cli-plugin-babel": "^3.8.0","@vue/cli-plugin-eslint": "^3.8.0","@vue/cli-plugin-pwa": "^3.8.0","@vue/cli-plugin-unit-mocha":