Toggle navigation
主页
English
K8S
Golang
Guitar
About Me
归档
标签
Welcome to Sanger's Blog!
Droneci Server and agent install
无
2023-02-22 15:09:23
21
0
0
sanger
[TOC] # droneci 本次是使用 **docker run** 或 **docker-compose** 安装 整体架构如下,**droneci Server** 与 **agent** 都做了 **HA** 没有将 **droneci** 移到 **k8s** 中,原因 **agent** 实例对宿主机的资源使用影响太大,需要单独使用,如果移植到 **k8s** 中将要为其创建独立的节点使用,**架构更加复杂**。 ## droneci nginx ``` upstream drone_servers { ip_hash; server 127.0.0.1:8480; server 10.3.100.31:8480; } server { listen 80; server_name drone.xxx.com; error_log /data/logs/nginx/drone.xxx.com/error.log; access_log /data/logs/nginx/drone.xxx.com/access.log; location / { proxy_pass http://drone_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` ## droneci server > 默认情况下,drone使用`sqlite`,首选`postgres`、次之`mysql`,mysql有字符集问题 [Server官方配置](https://docs.drone.io/server/reference/) ``` #!/bin/bash docker run \ --volume=/var/run/docker.sock:/var/run/docker.sock \ --volume=`pwd`/data/drone:/data \ --volume=/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \ --env=DRONE_DATABASE_DRIVER=postgres \ --env=DRONE_DATABASE_DATASOURCE=postgres://drone:drone123@postgre.xxx.com:5432/drone?sslmode=disable \ --env=DRONE_AGENTS_ENABLED=true \ --env=DRONE_RPC_SECRET=xxxxxxxxxxb5b377674432e1f95bd0d7 \ --env=DRONE_USER_CREATE=username:sanger,admin:true \ --env=DRONE_SERVER_HOST="drone.xxx.com" \ --env=DRONE_SERVER_PROTO=http \ --env=DRONE_RUNNER_CAPACITY=2 \ --env=DRONE_TLS_AUTOCERT=false \ --env=DRONE_LOGS_DEBUG=true \ --env=DRONE_LOGS_TRACE=true \ --env=DRONE_LOGS_COLOR=true \ --env=DRONE_GOGS_SERVER="http://gogs.xxx.com" \ --env=DRONE_GIT_ALWAYS_AUTH=false \ --env=DRONE_GOGS_SKIP_VERIFY=false \ --publish=8480:80 \ --publish=8443:443 \ --restart=always \ --detach=true \ --name=drone-server \ sanger/drone:1 ``` ## postgres ``` version: "3.5" services: db: restart: always image: postgres:9.6 privileged: true ports: - 5432:5432 environment: POSTGRES_PASSWORD: postgres12345 PGDATA: /var/lib/postgresql/data/pgdata volumes: - /home/drone/postgresql/data:/var/lib/postgresql/data/pgdata adminer: image: adminer restart: always ports: - 8080:8080 ``` ## droneci agent ``` version: '3.5' services: drone-agents: image: sanger/drone-agent:with_tzdata ports: - 3003:3000 restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime environment: - DRONE_RPC_PROTO=http - DRONE_RPC_HOST=drone.xxx.com - DRONE_RPC_SECRET=63808e76xxxxxxxxxx4432e1f95bd0d7 - DRONE_RUNNER_CAPACITY=5 - DRONE_RUNNER_NAME=${HOSTNAME} - DOCKER_API_VERSION=1.22 - DRONE_DEBUG=true - DRONE_TRACE=true - DRONE_RUNNER_PRIVILEGED_IMAGES=reg.xxx.com/library/centos,reg.xxx.com/drone/drone-deploy-go,reg.xxx.com/drone/drone-deploy,reg.xxx.com/drone/drone-deploy-go-test - DRONE_RUNNER_LABELS=env:dev - DRONE_AMAZON_SUBNET_ID=drone-agent ```
上一篇:
Droneci Monitoring
下一篇:
记一次时间偏移造成的TOTP验证失败及解决方案
0
赞
21 人读过
新浪微博
微信
更多分享
腾讯微博
QQ空间
人人网
文档导航