Da snap-installationsmetoden for SemaphoreUI bliver udfaset (deprecated), gik jeg for nylig i gang med processen for at migrere til en anden hostingmetode. Jeg valgte at installere pakkeversionen af Semaphore på det samme system. Oprindeligt havde jeg til hensigt at bruge backup- og gendannelsesfunktionerne på en ny installation, men stødte på flere problemer, som alle ser ud til at være fejl, der er rettet, men som påvirker den seneste version af Semaphore i snap. Jeg valgte derefter en anden rute, som jeg her foreslår tilføjet som en dokumenteret vej for andre til at migrere.
Trin til at migrere Semaphore Snap-filer til brug med pakkehåndtering eller binær installation: BEMÆRK: Denne metode bevarer boltdb som database for SemaphoreUI
- Log ind som
rootviasudo su -eller en anden gyldig metode - Stop snap-versionen af SemaphoreUI
snap stop semaphore.semaphored - Kopiér filer fra snap over til en ny mappe, som bliver hjemmemappe for en ny systembruger ved navn
semaphorecp -rf /root/snap/semaphore/common /home/semaphore - Flyt mappen
repositoriestil den nye midlertidige mappeplaceringmv -f /home/semaphore/repositories /tmp/semaphore - Opdater
config.jsonmed nye stier tildatabase.boltdbog den midlertidige mappesed -i 's/\/root\/snap\/semaphore\/common\/database.boltdb/\/home\/semaphore\/database.boltdb/' /home/semaphore/config.jsonsed -i 's/\/root\/snap\/semaphore\/common\/repositories/\/tmp\/semaphore/' /home/semaphore/config.json - Opret en ny systembruger og -gruppe ved navn
semaphoremed/home/semaphoresom hjemmemappeadduser --system --group --home /home/semaphore --no-create-home --shell /bin/bash semaphore - Overdrag ejerskab af
/home/semaphoreog alle filer til den nye systembrugerchown -R semaphore:semaphore /tmp/semaphorechmod o-rwx /home/semaphorechown -R semaphore:semaphore /home/semaphore
Når disse trin er fuldført, installeres og opsættes semaphore via en pakkehåndtering med semaphore som tjenestebruger eller gruppe. Alle indstillinger og tidligere kørsler bør blive vist i den nye SemaphoreUI-instans. Når du er tilfreds, kan snap-instansen fjernes via sudo snap remove semaphore.
Jeg endte med at automatisere alle disse trin gennem denne bash-fil:
#/bin/bash
#File: migrate-semaphore-snap.sh
#Migrate SemaphoreUI from snap as root to package/binary as semaphore
sudo su -l root <<EOF
set -x
snap stop semaphore.semaphored
cp -rf /root/snap/semaphore/common /home/semaphore
mv -f /home/semaphore/repositories /tmp/semaphore`
sed -i 's/\/root\/snap\/semaphore\/common\/database.boltdb/\/home\/semaphore\/database.boltdb/' /home/semaphore/config.json
sed -i 's/\/root\/snap\/semaphore\/common\/repositories/\/tmp\/semaphore/' /home/semaphore/config.json
adduser --system --group --home /home/semaphore --no-create-home --shell /bin/bash semaphore
cp /etc/skel/.* /home/semaphore/
chown -R semaphore:semaphore /tmp/semaphore
chmod o-rwx /home/semaphore
chown -R semaphore:semaphore /home/semaphore
EOF
