Automatizaci贸n de actualizaciones de software con Cosmovisor

Descripci贸n general

Cosmovisor es un sofisticado administrador de procesos dise帽ado para facilitar una alternativa sencilla al initiad startcomando convencional. Est谩 dise帽ado para su uso tanto manual como como servicio del sistema, proporcionando actualizaciones autom谩ticas perfectas para blockchains que utilizan Cosmos SDK.

Paso 1: instalar Cosmovisor

go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest

Paso 2: configurar Cosmovisor

export DAEMON_HOME=~/.initia
export DAEMON_NAME=initiad

cosmovisor init `<path-to-executable>`
cp `<shared-library-path>` $DAEMON_HOME/cosmovisor/current/bin/

# only if there is planned upgrade
export UPGRADE_NAME=<upgrade-name>
export UPGRADE_VERSION=<upgrade-version>

mkdir -p $DAEMON_HOME/cosmovisor/upgrades/$UPGRADE_NAME/bin
cp `<path-to-upgrade-executable>` \
   `<path-to-upgrade-shared-library>` \
   $DAEMON_HOME/cosmovisor/upgrades/$UPGRADE_NAME/bin

Paso 3: configurar el archivo de servicio del sistema

[Unit]
Description=initiad

[Service]
Type=simple
User=ubuntu
ExecStart=/home/ubuntu/go/bin/cosmovisor run start --home /home/ubuntu/.initia
WorkingDirectory=/home/ubuntu/.initia
Restart=on-abort
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=initiad
LimitNOFILE=4096
Environment="DAEMON_NAME=initiad"
Environment="DAEMON_HOME=/home/ubuntu/.initia" 
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="LD_LIBRARY_PATH=/home/ubuntu/.initia/cosmovisor/current/bin"

[Install]
WantedBy=multi-user.target

Paso 4: reiniciar iniciado

sudo systemctl daemon-reload
sudo systemctl restart initiad 

Last updated