|
||
---|---|---|
.. | ||
README.md | ||
stack.yml |
Build Support Stack
Instructions
JS/TS/NPM builds need an npm registry to store intermediate package artifacts. This can be supplied by the user (e.g. using a hosted registry or even npmjs.com), or a local registry using gitea can be deployed by stack orchestrator. To use a user-supplied registry set these environment variables:
CERC_NPM_REGISTRY_URL
and
CERC_NPM_AUTH_TOKEN
Leave CERC_NPM_REGISTRY_URL
un-set to use the local gitea registry.
1. Build support containers
$ laconic-so --stack build-support build-containers
Note that the scheme/gerbil builder container can take a while to build so if you aren't going to build scheme projects it can be skipped with:
$ laconic-so --stack build-support build-containers --exclude cerc/builder-gerbil
2. Deploy Gitea Package Registry
$ laconic-so --stack package-registry setup-repositories
$ laconic-so --stack package-registry deploy up
[+] Running 3/3
⠿ Network laconic-aecc4a21d3a502b14522db97d427e850_gitea Created 0.0s
⠿ Container laconic-aecc4a21d3a502b14522db97d427e850-db-1 Started 1.2s
⠿ Container laconic-aecc4a21d3a502b14522db97d427e850-server-1 Started 1.9s
New user 'gitea_admin' has been successfully created!
This is your gitea access token: 84fe66a73698bf11edbdccd0a338236b7d1d5c45. Keep it safe and secure, it can not be fetched again from gitea.
To use with laconic-so set this environment variable: export CERC_NPM_AUTH_TOKEN=3e493e77b3e83fe9e882f7e3a79dd4d5441c308b
Created the organization cerc-io
Gitea was configured to use host name: gitea.local, ensure that this resolves to localhost, e.g. with sudo vi /etc/hosts
Success, gitea is properly initialized
$
3. Configure the hostname gitea.local
How to do this is OS-dependent but usually involves editing a hosts
file. For example on Linux add this line to the file /etc/hosts
(needs sudo):
127.0.0.1 gitea.local
Test with:
$ ping gitea.local
PING gitea.local (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.147 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.033 ms
Although not necessary in order to build and publish packages, you can now access the Gitea web interface at: http://gitea.local:3000 using these credentials: gitea_admin/admin1234 (Note: please properly secure Gitea if public internet access is allowed).
Now npm packages can be built:
Build npm Packages
Ensure that CERC_NPM_AUTH_TOKEN
is set with the token printed above when the package-registry stack was deployed (the actual token value will be different than shown in this example):
$ export CERC_NPM_AUTH_TOKEN=84fe66a73698bf11edbdccd0a338236b7d1d5c45
$ laconic-so build-npms --include laconic-sdk