1. Linux
1.1. Installation
-
Note: Make sure sudo is installed.
-
Enter the following commands at a Command Line.
sudo apt-get install curl git gnupg pass scdaemon wget mkdir -p ~/Downloads cd ~/Downloads wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.7.3/gcm-linux-x64-2.7.3.deb sudo dpkg -i ~/Downloads/gcm-linux-x64-2.7.3.deb
1.2. Configuration
-
See https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/credstores.md.
-
See https://www.rogerngo.com/blog/git-credential-manager-(gcm)-setup-on-linux.
-
Enter the following commands at a Command Line.
# Prevent the following error. # Process terminated. Couldn't find a valid ICU package installed on the system. # Please install libicu (or icu-libs) using your package manager and try again. # Alternatively you can set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support. # Please see https://aka.ms/dotnet-missing-libicu for more information. # See https://stackoverflow.com/questions/59119904/process-terminated-couldnt-find-a-valid-icu-package-installed-on-the-system-in sudo apt-get install libicu76
1.2.1. Delta Software Labs
-
Log in as delta.
-
Enter the following commands at a Command Line.
git-credential-manager configure git config --global credential.credentialStore gpg gpg --gen-key # Type "Douwe Kiestra" for the "Real name" and press Enter. # Type "douwe@deltasoftware.frl" for the "Email address" and press Enter. # Type "O" for Okay and press Enter. # Type the Level 2 password for the passphrase. # Type the Level 2 password for the passphrase. # Select "OK" and press Enter.gpg: /home/delta/.gnupg/trustdb.gpg: trustdb created gpg: directory '/home/delta/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/delta/.gnupg/openpgp-revocs.d/0C32D9267D3948794EF556329A87DCB1466F6107.rev' public and secret key created and signed. pub ed25519 2026-03-20 [SC] [expires: 2029-03-19] 0C32D9267D3948794EF556329A87DCB1466F6107 uid Douwe Kiestra <douwe@deltasoftware.frl> sub cv25519 2026-03-20 [E] [expires: 2029-03-19]gpg: /home/delta/.gnupg/trustdb.gpg: trustdb created gpg: directory '/home/delta/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/delta/.gnupg/openpgp-revocs.d/0D07A18768210D86121B4CC77E718F0B70833A53.rev' public and secret key created and signed. pub ed25519 2026-03-23 [SC] [expires: 2029-03-22] 0D07A18768210D86121B4CC77E718F0B70833A53 uid Douwe Kiestra <douwe@deltasoftware.frl> sub cv25519 2026-03-23 [E] [expires: 2029-03-22]#pass init <gpg-id> pass init 0C32D9267D3948794EF556329A87DCB1466F6107
mkdir: created directory '/home/delta/.password-store/' Password store initialized for 0C32D9267D3948794EF556329A87DCB1466F6107
mkdir: created directory '/home/delta/.password-store/' Password store initialized for 0D07A18768210D86121B4CC77E718F0B70833A53
-
Enter the following commands at a Command Line.
cd ~/GitHub/Documentation git-incoming # Type "2" for "Personal Access Token" and press Enter. # Copy and paste the GitHub PAT and press Enter. git-incoming # Type the Level 2 password for the passphrase. git-incoming
1.2.2. Grendel Games
-
Log in as douwe.
-
Enter the following commands at a Command Line.
git-credential-manager configure git config --global credential.credentialStore gpg gpg --gen-key # Type "Douwe Kiestra" for the "Real name" and press Enter. # Type "douwe@grendelgames.com" for the "Email address" and press Enter. # Type "O" for Okay and press Enter. # Type the Level 4 password for the passphrase. # Type the Level 4 password for the passphrase. # Select "OK" and press Enter.gpg: /home/douwe/.gnupg/trustdb.gpg: trustdb created gpg: directory '/home/douwe/.gnupg/openpgp-revocs.d' created gpg: revocation certificate stored as '/home/douwe/.gnupg/openpgp-revocs.d/A47E9D9DC8943E515A59727CA64AA09EA6B34247.rev' public and secret key created and signed. pub ed25519 2026-03-23 [SC] [expires: 2029-03-22] A47E9D9DC8943E515A59727CA64AA09EA6B34247 uid Douwe Kiestra <douwe@grendelgames.com> sub cv25519 2026-03-23 [E] [expires: 2029-03-22]#pass init <gpg-id> pass init A47E9D9DC8943E515A59727CA64AA09EA6B34247
mkdir: created directory '/home/douwe/.password-store/' Password store initialized for A47E9D9DC8943E515A59727CA64AA09EA6B34247
-
Enter the following commands at a Command Line.
mkdir -p GitLab cd ~/GitLab git clone http://gitlab.grendelgames.com/alex/cicd-sandbox.git # Type "douwe" for the user name and press Enter. # Type the password and press Enter. cd ~/GitLab/cicd-sandbox git-incoming # Type "2" for "Personal Access Token" and press Enter. # Copy and paste the GitLab PAT and press Enter. git-incoming # Type the Level 4 password for the passphrase. git-incoming
Mounting a CIFS share at boot via /etc/fstab often leads to issues if the network isn’t ready. A more reliable solution is to create a systemd mount unit that ensures the network is online. Or use the x-systemd.automount option in the /etc/fstab file.
-
See https://dev.to/edgaras/how-to-reliably-mount-a-cifs-share-using-systemd-on-boot-2l8i.
-
Enter the following commands at a Command Line.
sudo apt-get install cifs-utils smbclient smbclient --list //192.168.56.1 --user Douwe
Sharename Type Comment --------- ---- ------- ADMIN$ Disk Remote Admin C$ Disk Default share D$ Disk Default share IPC$ IPC Remote IPC Users Disk SMB1 disabled -- no workgroup available -
Contents of the /root/.smbcredentials file.
username=douwe password=********
-
Enter the following commands at a Command Line.
sudo chmod 600 /root/.smbcredentials sudo mkdir -p /mnt/c file="/etc/fstab" line="//192.168.56.1/C$ /mnt/c cifs credentials=/root/.smbcredentials,iocharset=utf8,uid=1001,gid=1001,_netdev,vers=3.1.1,x-systemd.automount 0 0" # Back up original file if backup file is missing. if [ -f "${file}" ] && [ ! -f "${file}.org" ]; then sudo cp -a "${file}" "${file}.org"; fi if ! grep -q "${line}" "${file}"; then echo "${line}" | sudo tee --append "${file}" > /dev/null fi diff "${file}.org" "${file}" sudo systemctl daemon-reload sudo mount -a -
Enter the following commands at a Command Line.
cd /mnt/c/Users/Douwe/GitLab git clone http://gitlab.grendelgames.com/alex/cicd-sandbox.git # Type the Level 4 password for the passphrase. cd cicd-sandbox git-incoming
2. Windows
2.1. Installation
-
Run the gcm-win-x64-2.7.0.exe file with administrative privileges.
-
Choose I accept the agreement.
-
Click Next.
-
Click Install.
-
Click Finish.