Skip to main content

A script which can update gitea to a new version.

Project description

Gitea Auto Update

Build Status Publish Package PyPI version Downloads GitHub Twitter Follow Mastodon Follow

Script for an automatic update of gitea. Should be run locally on the gitea server. Has options for updating via new binary file or build from source.

This project is on life-support. I focus on bringing new features to my paid Autoupdate tool.

Want to update more?

If you want to update Gitea and other software (like Drone, Caddy, Podman, Python, Zitadel and Kanboard), you should check out Autoupdate.

This new tool of mine was built as a single binary with a config file and tested on multiple Linux systems.

Procedure

  • Get Gitea Version from the Gitea CLI and if that fails from the Gitea API
  • Get latest Release via GitHub API
  • Check if there is a newer Version
  • If there is a newer Version:
    • If binary file was selected:
      • Download new version
      • Check sha256
      • Overwrite old version
    • If build from source is active:
      • Checkout new release branch
      • Build binary
      • Overwrite old binary

General Information

License: GNU General Public License

Author: Christoph Daniel Miksche (m5e.de)

Uses python version 3

Dependencies

Ensure pip3, setuptools, xz-utils and wheel dependencies are installed on the system you are running this script in. (Most Linux OS like Ubuntu or Debian come with these pre-installed)

Installation

Create a settings.ini file on your system. Example:

[Gitea]
site=https://your-gitea-instance.com/api/v1/version
apiUrl=https://api.github.com/repos/go-gitea/gitea/releases/latest
system=linux-amd64
file=/usr/local/bin/gitea
tmpDir=/tmp/
buildFromSource=
sourceDir=
logFile=update.log

Use the following command to install gitea-auto-update.

sudo pip3 install gitea-auto-update

Enter the command gitea-auto-update --settings=/path/to/settings.ini in your commandline.

If you want to schedule your updates, edit your /etc/crontab file.

Tutorials

Development

The following instructions help you for developing.

  • Check out the Contribution Guidelines.
  • Clone this git repo
  • Install pipenv: pip install pipenv
  • Install all dependencies: pipenv install
  • Install git pre-commit hooks (for pylint and gitlint) with pre-commit install
  • You can run the tests with python -m unittest
  • After pushing, you should check the build status which currently checks the tests, pylint and the commit message format.

Notes

The following steps are automatically executed via pre-commit hooks.

  • You can run pylint with pylint gitea_auto_update
  • After changes and commit, you can check if your commit message follows the contribution guidelines with gitlint. If there is a problem, gitlint will show you a error message.

Contributors

See https://github.com/CMiksche/gitea-auto-update/graphs/contributors

Thank you for your support!

Interested in contributing to this project? Check out the Contribution Guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

gitea_auto_update-2.0.13-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file gitea_auto_update-2.0.13-py3-none-any.whl.

File metadata

File hashes

Hashes for gitea_auto_update-2.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 a98b0d1240940b423c33a5d56dbe6b65cd6a07903f1b38d27c9eb215b7e3b709
MD5 073297ad153ca25ef5477a6a790b54ae
BLAKE2b-256 6d5e1a4f7df1374739c299b721cbe74fdbc1de92d8a84671613f3bc79045bb15

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page