2022年3月16日 星期三

ssh-copy-id ansible使用

在開發ansible佈署功能主要都是透過ssh

ssh連線時如果希望不用每次輸入密碼

要透過ssh-copy-id xxx@192.168.0.99

將本機的public key丟到遠端主機上

這樣之後就直接連線不需要輸入密碼


ex:

以ansible佈署的架構來看

假設區網內的幾台主機功能分別是

1.本機 192.168.0.60

2.控制機 192.168.0.99

3.應用ap 192.168.0.100

如果我們要透過控制機(99)去操作應用ap(100)

則需要在99上把99的public-key丟到100上

  ssh-copy-id user@192.168.0.100

如果ansible(99)要控制的是也是99上的程式

也要copy id給自己

  ssh-copy-id user@192.168.0.99

這樣在client機器上可以透過ssh控制control(99)機器去

代為操作99跟100的服務


2022年3月1日 星期二

pkg讀取資料檔案路徑

使用pkg將node應用程式封裝成各平台的執行檔

當執行時要讀取其他檔案的路徑

其他檔案有無被封裝 路徑是有差異的

舉例來說

有一個專案目錄

node_proj/

  tmp/

  js/

js目錄內的檔案要被封裝到執行檔內

tmp目錄內的檔案不封裝到執行檔

執行封裝好的執行檔時

1.封裝到執行檔的目錄

  在package.json內需設定要封裝的檔案

  "pkg": {

    "scripts": [

      "./js/**/**/*.js"

    ],

    "assets": ''

  }

  封裝好的執行檔在執行時 js/目錄會是在'snapshot/node_proj/js/file.js'

  在程式內要讀取的路徑需以相對路徑方式寫

  path.resolve(__dirname,'..','js','file.js')

2.若是要讀取未被封裝在執行檔內的檔案

  path.resolve('.','tmp','hello.txt')

  會讀到執行目錄下的檔案