Shell to Python Continuous Deployment
https://spcd.rwx.work
.forgejo/workflows | ||
.github/workflows | ||
spcd | ||
.gitea | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
license.md | ||
pyproject.toml | ||
readme.md | ||
spcd.sh |
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)
- Alma
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 | s | u | python | grviz | plantuml | shch | spx | shfm | plc | ruf |
---|---|---|---|---|---|---|---|---|---|---|
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 | s | u | python | grviz | plantuml | shch | spx | shfm | plc | ruf |
---|---|---|---|---|---|---|---|---|---|---|
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
- epel
- lint
- .py
- .sh
.sh
- support opensuse