第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

GO Monorepo:需要使用 go build 重建的文件列表

GO Monorepo:需要使用 go build 重建的文件列表

Go
飲歌長(zhǎng)嘯 2022-12-26 10:40:30
我的 go 項(xiàng)目有一個(gè) monorepo 設(shè)置。如果我能找到一種方法來(lái)使用 go build(或類(lèi)似的內(nèi)部工具)來(lái)獲取需要重新構(gòu)建的目標(biāo)列表,我會(huì)很高興。這是我正在尋找的示例:...├── pkg //shared code across mono repo│   └── math│       └── common_operations.go└── cmd // individual packages to be built     ├── package1    │   └── main.go    └── package2        └── main.gopackage1 程序調(diào)用數(shù)學(xué)共享庫(kù)中的減法函數(shù)。package2 程序調(diào)用一個(gè) add 函數(shù)。如果我更改 package1 代碼,則僅列出 package1 目標(biāo)如果我更改 package2 代碼,則僅列出 package2 目標(biāo)如果我更改共享庫(kù)中的添加函數(shù),則只會(huì)列出 package2 目標(biāo)如果我更改共享庫(kù)中的減法函數(shù),則只會(huì)列出 package1 目標(biāo)如果我更改共享庫(kù)中的所有函數(shù),package1 和 package2 都會(huì)重建。我非常樂(lè)意使用內(nèi)部構(gòu)建包并以編程方式獲取列表。我只是不熟悉它。我嘗試過(guò)的方法: Bazel 對(duì)此有一個(gè)選項(xiàng),但我寧愿盡可能避免使用 bazel。bazel 命令:bazel build cmd/some-target --check_up_to_date如果它是最新的,則返回錯(cuò)誤代碼 0,否則返回錯(cuò)誤代碼 1。這在技術(shù)上是一個(gè)解決方案,但正如您可能已經(jīng)推斷的那樣,我的需要是基于 ci/cd 的。我想盡可能避免將 Bazel 集成到該過(guò)程中。
查看完整描述

2 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

不太確定這里的用例,你也可以實(shí)際編譯包嗎?在那種情況下,也許go build -v可以為您完成這項(xiàng)工作。來(lái)自go help build:

-v 
       print the names of packages as they are compiled.


查看完整回答
反對(duì) 回復(fù) 2022-12-26
?
開(kāi)滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

我的愿望是找到類(lèi)似于 go build 選項(xiàng)的東西,如果目標(biāo)包是最新的,它基本上會(huì)吐出 true 或 false。如果有人找到可以解決這個(gè)問(wèn)題的工具(地球上我現(xiàn)在正在看著你),我會(huì)很高興。

我能找到解決問(wèn)題的最接近解決方案的方法是運(yùn)行此命令:

go build -n cmd/some-target

如果輸出是:

touch some-target

然后,它必須是最新的。如果輸出是一長(zhǎng)串命令,則不是。如果不是最新的。然后您可以使用以下方法獲取包名稱(chēng):

go build -v

獲取包的名稱(chēng)并將其移動(dòng)到 CI 過(guò)程的下一階段(構(gòu)建目標(biāo)、測(cè)試目標(biāo)、構(gòu)建映像等)。

顯然,它有點(diǎn)老套,需要自行推出解決方案,具體細(xì)節(jié)可能需要根據(jù)您的具體需求進(jìn)行更改。正如 @zacho314 提到的,它還需要保存 go build 緩存的狀態(tài),但大多數(shù)現(xiàn)代 CI 技術(shù)都有解決方案。我確定我現(xiàn)在會(huì)做類(lèi)似的事情。


查看完整回答
反對(duì) 回復(fù) 2022-12-26
  • 2 回答
  • 0 關(guān)注
  • 174 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)