Shell to Python Continuous Deployment https://spcd.rwx.work
Find a file
2024-07-21 16:07:44 +02:00
.forgejo/workflows −git 2024-07-17 20:17:20 +02:00
.github/workflows −git 2024-07-17 20:17:20 +02:00
spcd fixme/sphinx 2024-07-17 19:22:18 +02:00
.gitea gitea 2024-05-03 16:17:20 +02:00
.gitignore ignore dist 2024-06-14 14:26:12 +02:00
.gitlab-ci.yml gitlab 2024-06-27 13:51:05 +02:00
.shellcheckrc shellcheck/all 2024-06-14 10:35:49 +02:00
license.md license 2024-05-03 16:33:15 +02:00
pyproject.toml pyproject 2024-06-27 13:53:07 +02:00
readme.md readme/py++ 2024-07-21 16:07:44 +02:00
spcd.sh */* path 2024-07-20 19:45:52 +02:00

Shell to Python Continuous Deployment

Get a common set of Python CI & CD commands
from various contexts of CA, CI and OCI / OS.

Features

  • Certification Authority certificates
    • custom
    • known
  • Continuous Integration platforms
    • ForgeJo
    • Gitea
    • GitHub
    • GitLab
    • SourceHut
  • Operating Systems
    • Alma
      • 9
      • 8
    • Alpine
      • 3.20
      • 3.19
    • Arch
      • 20240101
      • 20231112
    • Debian
      • Bookworm (12)
      • Bullseye (11)
    • Fedora → Python 3.12
      • 40
      • 39
    • Rocky
      • 9
      • 8
    • Ubuntu
      • Noble (24.04)
      • Jammy (22.04)

How

Variable Description Default
SPCD_BRANCH_RELEASE Release deployment branch main
SPCD_BRANCH_STAGING Staging deployment branch dev
SPCD_BRANCH_FEATURE Feature deployment branch f
SPCD_CA_n Numbered CA certificate
SPCD_DNS Space separated servers 9.9.9.9
SPCD_GIT_MAIN Main Git repository spcd
SPCD_GIT_ROOT Root Git repository rwx
SPCD_SSH_HOSTS domain.tld ssh-type pub
SPCD_SSH_KEY SSH private key
SPCD_URL_ALMA Alma repository URL https://repo.almalinux.org
SPCD_URL_ALPINE Alpine repository URL https://dl-cdn.alpinelinux.org
SPCD_URL_ARCH Arch repository URL https://geo.mirror.pkgbuild.com
SPCD_URL_DEBIAN Debian repository URL https://deb.debian.org
SPCD_URL_FEDORA Fedora repository URL https://rpmfind.net
SPCD_URL_ROCKY Rocky repository URL https://dl.rockylinux.org
SPCD_URL_UBUNTU Ubuntu repository URL https://ubuntu.mirrors.ovh.net

HTTPS & Python

OS image s u py py++ sc
Alpine 3.20 3.12
Alpine 3.19 3.11
Arch 20240101 3.12
Arch 20231112 3.12
Debian Bookworm 3.11
Debian Bullseye 3.9
Ubuntu Noble 3.12
Ubuntu Jammy 3.10
Fedora 40 3.12 3.13
Fedora 39 3.12 3.13
Alma 9 3.9 3.12
Rocky 9 3.9 3.12
Alma 8 3.12
Rocky 8 3.12

Tasks

  • relay environment module name
  • write tests

.py

  • detect ssh private key type
  • implement project repository cloning
  • install
    • epel
      • plantuml
      • shellcheck
    • graphviz
    • openssh
    • pip
      • ruff
    • rsync
    • shfmt
  • lint
    • .py
    • .sh

.sh

  • support opensuse