Shell to Python Continuous Deployment https://spcd.rwx.work
Find a file
Marc Beninca 14d5a5b9d0
All checks were successful
/ job (push) Successful in 10m9s
dos2unix → tr
2024-07-29 23:27:31 +02:00
.forgejo/workflows ssh 2024-07-29 14:33:22 +02:00
.gitea/workflows git 2024-07-29 16:15:21 +02:00
.github/workflows git 2024-07-29 16:15:21 +02:00
spcd list_environment_variables 2024-07-29 14:20:15 +02:00
.gitignore ignore dist 2024-06-14 14:26:12 +02:00
.gitlab-ci.yml gitlab/echo|sh 2024-07-29 20:20:52 +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 clone/gitlab 2024-07-28 21:48:52 +02:00
spcd.sh dos2unix → tr 2024-07-29 23:27:31 +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
      • 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_EPEL EPEL repository URL https://dl.fedoraproject.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

Packages

os https updt-ca py graphviz plantuml shchk sphinx shfmt pelican ruff
Arch 20240101 3.12 12.0 1.2023.13 0.10 7.4 3.8 4.9 0.5
Fedora 40 3.12 → 3.13 9.0 1.2024.6 0.9 7.2 3.7 4.8 0.4
Alpine 3.20 3.12 9.0 1.2024.4 0.10 7.2 3.8 0.4
Ubuntu Noble 3.12 u2.42 u1.2020.2 u0.9 7.2 u3.8 4.9
Debian Bookworm 3.11 2.42 1.2020.2 0.9 5.3 3.6 4.8
Alma / Rocky 9 3.9 → 3.12 2.44 e1.2024.6 e0.8
os https updt-ca py graphviz plantuml shchk sphinx shfmt pelican ruff
Fedora 39 3.12 → 3.13 8.1 1.2024.6 0.9 6.2 3.5 4.8 0.4
Alpine 3.19 3.11 9.0 1.2023.12 0.9 6.2 3.7
Ubuntu Jammy 3.10 u2.42 u1.2020.2 u0.8 4.3 u3.4 4.7
Debian Bullseye 3.9 2.42 1.2020.2 0.7 3.4 4.0
Alma / Rocky 8 3.6 → 3.12 2.40 e1.2024.6 e0.6

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

  • check if file & variable match
  • support opensuse