I’m trying to build oss-web-ui from source code.
Manual said to use git clone
to run process.
I’ll use oss-web-ui at production network that cannot connect github.
So I have to make any package that not depends on network limitation.
Have you any idea to make that package?
Well you are going to need to download the package from somewhere on the internet or someone sneakernets it to you. Once you have downloaded and compiled it then you can push that executable to whatever artifact management solution exists in your air gapped environment. You then either build that into your images, configuration management, dockerfiles, etc to pull from that location.
That may not work out of the box.
When web app starts, it executes git commands to collect version info (git source url, branch, tag, commit, last log, etc), which means it requires .git/ directory in $CWD to exist.
If any git command fails then app will not start:
root@24c6c7f88e78:/opt/sensu/web# NODE_ENV=production PORT=5000 yarn node scripts serve
yarn node v1.22.5
[HPM] Proxy created: /auth,/graphql,/api -> http://localhost:8080
clean-webpack-plugin: /opt/sensu/web/build/app has been removed.
listening on 5000
(node:170) DeprecationWarning: Tapable.apply is deprecated. Call apply on the plugin directly instead
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:170) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
<i> [webpack-dev-middleware] wait until bundle finished: /index.html
<e> [webpack-dev-middleware] Child "app":
<e> ERROR in ./src/lib/buildInfo.macro.js
<e> Module build failed (from ./config/macroLoader.js):
<e> Error: ENOENT: no such file or directory, open '/opt/sensu/web/.git/HEAD'
<e> at Object.openSync (fs.js:474:3)
<e> at Object.readFileSync (fs.js:375:35)
<e> at branch (/opt/sensu/web/node_modules/git-rev-sync/index.js:81:17)
<e> at long (/opt/sensu/web/node_modules/git-rev-sync/index.js:92:11)
<e> at Object.short (/opt/sensu/web/node_modules/git-rev-sync/index.js:118:10)
<e> at Module.module.exports.1Icq.__webpack_exports__.default (/opt/sensu/web/src/lib/buildInfo.macro.js:98:34)
<e> at Object.default (/opt/sensu/web/config/macroLoader.js:9:27)
<e> @ ./src/lib/buildInfo.tsx 8:0-37 10:30-34
<e> @ ./src/lib/component/util/useBuildInfo.js
<e> @ ./src/lib/component/util/index.tsx
<e> @ ./src/app/index.js
<e> @ multi ./src/app
<i> [webpack-dev-middleware] Child "app": Failed to compile.
Therefore, make sure .git/ is always included when you package app (docker image, npm pkg, .deb).