DevOps-Gitness
Gitness 是 Harness 旗下的一款开源产品。可以说是 Drone 的替代品,Drone开源一段时间后就被 Harness 收购。介绍就免了直接上安装教程。
安装步骤
根据个人的想法决定安装哪些组件,目前我这里配置了SSL,所以需要一个 Nginx 进行反向代理。以下是我的docker-compose.yml
配置。
version: "2.3"
services:
gitness:
image: harness/gitness
container_name: gitness
restart: always
privileged: true
ports:
- "8080:8080"
extra_hosts:
- host.docker.internal:host-gateway
environment:
- GITNESS_DATABASE_DRIVER=sqlite3
- GITNESS_USER_SIGNUP_ENABLED=true
- GITNESS_HTTP_PORT=8080
- GITNESS_URL_BASE=https://example.com
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/data
nginx:
image: nginx
container_name: nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/conf.d/:/etc/nginx/conf.d/:ro
- ./nginx/certs/:/etc/nginx/certs/:ro
上面还配置了nginx相关的配置项,这里的nginx.conf
我使用的是默认的配置,所以这个文件我是不挂载的,可根据需要自行调整。以下是example.com.conf
的相关配置
server {
listen 80;
server_name example.com 1.1.1.1; #这里写的是服务器的IP
location / {
# 重定向 HTTP 到 HTTPS
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/certs/example.com.crt;
ssl_certificate_key /etc/nginx/certs/example.com.key;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Port $server_port;
location / {
# 针对其他 URL 的服务
proxy_pass http://gitness:8080;
# 可以添加其他代理相关配置,如代理头、缓存等
}
}
这里还有一种想法,就是将nginx代理也一并交由 Gitness 托管,作为 Gitness 中的一个项目仓库来维护,这样就可以通过动态的调整来进行配置。
效果就不给大家展示了,SSL续约可以参考开源项目-SSL自动续约脚本!
DevOps-Gitness
https://blog.cikaros.top/doc/b35f7c70.html