Docker安装Gitea+Drone

Docker安装Gitea+Drone

       在Kubernetes上搭建了一套基于Gitea+Drone自动化部署工具之后,后面我又尝试在Docker上也搭建这一套工具,这篇文章跟大家分享如何在docker上部署Gitea+Drone,假设服务器IP是122.92.153.208

       一、安装Gitea

       部署Gitea我们直接用docker-compose方式进行部署,详细如下

version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:1.15.7
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3003:3000"
      - "222:22"

我们将本地3003端口映射到3000端口,222端口映射到22端口,如果服务器是在国内的话,记得开启3003以及222端口,然后直接运行

docker-compose up -d

部署成功后浏览器直接访问http://122.92.153.208:3003,后面根据实际情况进行安装。

       二、安装Drone

       安装Drone我是采用命令行方式进行部署,在安装之前我们先生成一个密钥

openssl rand -hex 16

假设返回

0dc8d629de7c7bd2a470cbffefaef0ae

然后运行以下命令

docker run \
  -v /home/drone:/data \
  -e DRONE_AGENTS_ENABLED=true \
  -e DRONE_GITEA_SERVER=http://122.92.153.208:3003 \
  -e DRONE_RPC_SECRET=0dc8d629de7c7bd2a470cbffefaef0ae \
  -e DRONE_SERVER_HOST=122.92.153.208:1380 \
  -e DRONE_SERVER_PROTO=http \
  -e DRONE_USER_CREATE=username:admin:true \
  -e DRONE_GITEA_CLIENT_ID=14638127-bae6-4737-9f95-e2e171129924 \
  -e DRONE_GITEA_CLIENT_SECRET=SRo0c9e1i4htxr3xyeomadJ9KRuLzPn7WSTKnHe4iLEz \
  -e TZ="Asia/Shanghai" \
  -p 1380:80 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1

再次运行以下命令

docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=http \
  -e DRONE_RPC_HOST=122.92.153.208:1380 \
  -e DRONE_RPC_SECRET=0dc8d629de7c7bd2a470cbffefaef0ae \
  -e DRONE_RUNNER_CAPACITY=2 \
  -e DRONE_RUNNER_NAME=runner-docker \
  -e TZ="Asia/Shanghai" \
  -p 3000:3000 \
  --restart always \
  --name runner-docker \
  drone/drone-runner-docker:1

简单对上面的配置进行说明

-e DRONE_GITEA_SERVER=http://122.92.153.208:3003                          #Gitea访问地址
-e DRONE_RPC_SECRET=0dc8d629de7c7bd2a470cbffefaef0ae                      #openssl rand -hex 16 创建通信密钥
-e DRONE_SERVER_HOST=122.92.153.208:1380                                  #Drone访问地址 
-e DRONE_SERVER_PROTO=http                                                #http方式访问
-e DRONE_USER_CREATE=username:admin:true                                  #管理员权限
-e DRONE_GITEA_CLIENT_ID=14638127-bae6-4737-9f95-e2e171129924             #Gitea应用ID
-e DRONE_GITEA_CLIENT_SECRET=SRo0c9e1i4htxr3xyeomadJ9KRuLzPn7WSTKnHe4iLEz #Gitea应用密钥
-e DRONE_RPC_PROTO=http                                                   #http方式访问
-e DRONE_RPC_HOST=122.92.153.208:1380                                     #Drone访问地址  
-e DRONE_RPC_SECRET=0dc8d629de7c7bd2a470cbffefaef0ae                      #openssl rand -hex 16 创建通信密钥

       三、访问Drone

       完成以上操作,我们需要先初始化Gitea配置,并创建仓库,由于这些百度可以查到,我在这里就不重复写了,然后我们浏览器访问122.92.153.208:1380

微信截图_20211216204511.png

如果Gitea有仓库,我们激活之后就出现我上面这样。

       以上就是基于Docker部署Gitea+Drone。

0条评论

发表评论