Gitea+Drone实现自动构建
Gitea搭建
docker搭建
1
| docker run -d --name gitea -p 10022:22 -p 3000:3000 -v /data/gitea:/data gitea/gitea
|
Drone搭建
编写docker-compose.yaml
其中<*>的需要替换为自己的信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| version: "3"
services: drone-server: image: drone/drone:2 container_name: drone-server privileged: true environment: - DRONE_GITEA_SERVER=<Gitea域名> - DRONE_GITEA_CLIENT_ID=<Gitea用户Oauth应用客户端ID> - DRONE_GITEA_CLIENT_SECRET=<Gitea用户Oauth应用客户端密钥> - DRONE_SERVER_HOST=<Drone域名> - DRONE_SERVER_PROTO=http - DRONE_RPC_SECRET=drone2024 - DRONE_USER_CREATE=username:<Gitea用户名>,admin:true - DRONE_GIT_USERNAME=<Gitea用户名> - DRONE_GIT_PASSWORD=<Gitea密码> - TZ=Asia/Shanghai volumes: - ./drone:/var/lib/drone/ - /var/run/docker.sock:/var/run/docker.sock restart: always ports: - '10081:80'
drone-runner-docker: image: drone/drone-runner-docker:1.4.0 container_name: drone-runner-docker privileged: true environment: - DRONE_RPC_SECRET=drone2024 - DRONE_RPC_HOST=drone-server - DRONE_RPC_PROTO=http - DRONE_RUNNER_CAPACITY=2 - DRONE_RUNNER_NAME=drone-runner-docker volumes: - /var/run/docker.sock:/var/run/docker.sock restart: always depends_on: - drone-server
|
执行
drone.yaml编写
我们在仓库的根目录下创建文件.drone.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| kind: pipeline name: hexo type: docker
steps: - name: build-start image: appleboy/drone-ssh pull: if-not-exists settings: host: from_secret: ssh_host username: from_secret: ssh_username password: from_secret: ssh_password port: from_secret: ssh_port command_timeout: 5m script: - cd /www/hexo;/usr/bin/git pull;/usr/bin/hexo g;/usr/bin/hexo d
|