Some checks failed
Continuous Integration / lint_n_build (push) Has been cancelled
84 lines
1.7 KiB
Markdown
84 lines
1.7 KiB
Markdown
# Netoïk Git Server 
|
|
|
|
Build an RPM package which will install the Git server called Gitea with custom configuration.
|
|
|
|
- listen on port 3000
|
|
- reversed by nginx
|
|
- rely on postgres for database
|
|
- rely on valkey for cache
|
|
|
|
|
|
# Development
|
|
|
|
A `Makefile` is integrated to let you run some basic commands.
|
|
|
|
- Display some information about the project
|
|
```shell
|
|
make help
|
|
make name
|
|
make version
|
|
make release
|
|
make arch
|
|
```
|
|
|
|
- Build a tarball:
|
|
```shell
|
|
make tarball
|
|
```
|
|
|
|
- Build an rpm package:
|
|
```shell
|
|
rpmbuild -ba netoik-git.spec
|
|
```
|
|
|
|
- Upload rpm package to Gitea repository (env var `PKG_TOKEN` is required):
|
|
```shell
|
|
make upload
|
|
```
|
|
|
|
|
|
# CI / CD
|
|
|
|
Two workflows are set up.
|
|
|
|
- Continuous Integration:
|
|
- triggered by each push event on branch `main`
|
|
- builds tarball
|
|
- builds rpm package
|
|
|
|
- Continuous Delivery:
|
|
- triggered by each tag push event
|
|
- builds tarball
|
|
- builds rpm package
|
|
- uploads rpm package to repository
|
|
|
|
|
|
# Deployment
|
|
|
|
Some commands to deploy the RPM package on server
|
|
|
|
- Add Gitea repo to your repo list:
|
|
```shell
|
|
dnf config-manager --add-repo https://git.netoik.io/api/packages/samuel/rpm.repo
|
|
dnf repolist | grep gitea-samuel
|
|
```
|
|
|
|
- Show available versions:
|
|
```shell
|
|
dnf --showduplicates netoik-git
|
|
```
|
|
|
|
- Install or upgrade package:
|
|
```shell
|
|
dnf --nogpgcheck --refresh --assumeyes --best install netoik-git
|
|
```
|
|
|
|
|
|
# Security Notes
|
|
|
|
For security reasons, act runners does not have sudo privileges and so there is:
|
|
- **no** Continuous Deployment because act runners cannot use `dnf`
|
|
- **no** GPG signing because act runners cannot use `gpg`
|
|
|
|
|