This website is built with Jekyll, build with Docker and deploy with
Nginx on bare metal. At the deploy step,
it’s all about copy file html files from docker to nginx’s www directory.
A process of auto-build & auto-deploy is done with Jenkins.
2. Jenkins
a. Build Trigger
I use GitHub hook trigger for GITScm polling.
In addition, on the github, I configure github’s webhook.
b. Pipeline
There is a trick here to copy to nginx’s www directory. user named jenkins does copy file htmls into the nginx’s html directory.
As a consequence, prior to run pipeline,
First, I create nginx’s html directory (/usr/share/nginx/hexalink.xyz.html/)
Then, I change user ownership to jenkins.
3. Nginx
a. Nginx config for hexalink.xyz / www.hexalink.xyz
Change directory to zephyr-wallet/client, install packge dependencies and build
3. Build zephyr wallet desktop app
Change directory to zephyr-wallet/zephyr-desktop-app, install package dependencies.
Modify the file named forge.config.js at line 90. Add a new maker named @electron-forge/maker-rpm. This config is a must for Electron Forge to build .rpm file.
For reference, please check https://www.electronforge.io/config/makers/rpm.
Now, it’s time to build rpm file, I do reference from zephyr-wallet/sh/make.sh
$ cd zephyr-wallet/zephyr-desktop-app
$ export ZEPHYR_DESKTOP_DEVELOPMENT=false
$ export NODE_INSTALLER=npm
$ npm run make -- --targets="@electron-forge/maker-rpm"
> zephyr@1.0.2 make
> npm run build && electron-forge make --targets=@electron-forge/maker-rpm
> zephyr@1.0.2 build
> tsc
✔ Checking your system
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets: rpm
✔ Running package command
✔ Preparing to package application
✔ Running packaging hooks
✔ Running generateAssets hook
✔ Running prePackage hook
✔ Packaging application
✔ Packaging for x64 on linux [11s]
✔ Running postPackage hook
✔ Running preMake hook
✔ Making distributables
✔ Making a rpm distributable for linux/x64 [42s]
✔ Running postMake hook
› Artifacts available at: /home/***/Projects/zephyr-wallet/zephyr-desktop-app/out/make
The rpm file should be in out/make/rpm/x86/. Done!
For quick testing without rpm install, you can execute zephyr-wallet/zephyr-desktop-app/out/Zephyr-linux-x64/zephyr.
For rpm istall, you can run the following command.
Redash trying to get SAML’sFederationMetadata.xml from a self-sign ADFS server. Python package named certifi did not update with your new CA’s certificate.
How to solve?
Find certifi’s cacert.pem and update it.
In terminal, type python to access its interactive shell. Then, type the following command.
In this case, it’s /usr/local/lib/python3.7/site-packages/certifi/cacert.pem.
Append your CA’s certificate to cacert.pem.
How to test?
In terminal, type python to access its interactive shell. Then, type the following command.
Only need to use extract CA’s certificate. Export it with file extension named .pem
Please take a note that, update-ca-trust determines certificate format using file header which locates in very first bytes in the binary file. Eventhough you save certificates with .crt , .cer, it’s still .pem.
To determine file format, you shoule use command file, for example $ file file_name.
To illustrate this point. I’ll give an example.
Step 2. Copy certificate authority’s certificate to /etc/pki/ca-trust/source/anchors
Step 3. Update /etc/ssl/certs/ca-certificates.crt
You can check this file /etc/ssl/certs/ca-certificates.crt to ensure that it is updated.