drone +gitlab使用


部署gitlab

 參考

 

部署drone

# ip:xxxxxxxx ci-build
### docker-compose.yml
#測試成功,附帶mysql
version: "2.1"

services:

  drone-server:
    image: drone/drone:1
    ports:
      - 443:443
      - 80:80
    volumes:
      - /var/lib/drone:/data
    restart: always
    depends_on:
      - mysql
    environment:
      - DRONE_DATABASE_DATASOURCE=/var/lib/drone/drone.sqlite
      - DRONE_DATABASE_DRIVER=sqlite3
      - DRONE_DATABASE_DRIVER=mysql
      - DRONE_DATABASE_DATASOURCE=root:root@tcp(ci_mysql:3306)/drone?parseTime=true
      - DRONE_AGENTS_ENABLED=true
      - DRONE_LOGS_DEBUG=true
      - DRONE_GIT_ALWAYS_AUTH=false
      - DRONE_GITLAB_SERVER=http://192.168.10.54:8083/ # gitlab服務器地址
      - DRONE_GITLAB_CLIENT_ID=ea11d55c67c47043d409d90a14fce1043f82231b45809b30a3f5bc0cee711bf7  # application ID
      - DRONE_GITLAB_CLIENT_SECRET=b4846990c58ffb5ce494e697a1c09225edf3025c5275ee527b32157a0e1b2e83 # Secret
      - DRONE_RPC_SECRET=e349d16fa70e27bdd1043c1ec3d83478 # 為server和agent設置一個統一識別碼 隨便輸,但必須前后一致
      - DRONE_USER_CREATE=username:root,admin:true # 為drone的settings添加Trued username是gitlab用戶名 admin默認為true
      - DRONE_RUNNER_CAPACITY=3
      - DRONE_SERVER_HOST=192.168.10.202  # drone服務器地址
      - DRONE_SERVER_PROTO=http
      - DRONE_TLS_AUTOCERT=false
    networks:
      - ci_net


  drone-agent:
    image: drone/drone-runner-docker:1
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
    environment:
      - DRONE_RPC_PROTO=http
      - DRONE_RPC_HOST=192.168.10.202 # 服務器地址
      - DRONE_RPC_SECRET=e349d16fa70e27bdd1043c1ec3d83478
      - DRONE_RUNNER_CAPACITY=3
      - DRONE_RUNNER_NAME=ip # runner名字 默認為服務器ip
      - DRONE_LOGS_TRACE=true
    networks:
      - ci_net

  mysql:
    restart: always
    image: mysql:5.7.16
    container_name: ci_mysql
    command: --default-authentication-plugin=mysql_native_password #這行代碼解決無法訪問的問題
    volumes:
      - ./mydir:/mydir
      - ./datadir:/var/lib/mysql
      - ./conf/my.cnf:/etc/my.cnf
      #      數據庫還原目錄 可將需要還原的sql文件放在這里
      - /docker/mysql/source:/docker-entrypoint-initdb.d
    environment:
      - "MYSQL_ROOT_PASSWORD=root"
      - "MYSQL_DATABASE=drone"
      - "TZ=Asia/Shanghai"
    networks:
      - ci_net
    ports:
      - 3307:3306

networks:
  ci_net:
    driver: bridge
View Code

 

互聯

1.允許本地訪問

 2.配置訪問令牌(確保令牌的賬戶可以訪問自動部署項目)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM