国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用drone和gogs搭建自己的CI/CD系統

inapt / 956人閱讀

摘要:域名和應用記得一樣接著我們創建一個管理員用戶,然后其他的都默認,點擊立即安裝完成。初始化成功之后我們可以在里邊創建一個倉庫,然后登陸。比如配置文件需要的密鑰,用戶名和密碼,一些環境變量都可以在設置,構建狀態徽章可以在你的項目文件加上去。

drone是一個基于容器的本地持續交付平臺,和Jenkins是差不多的,然后配合輕量級的gogs來作為git管理,都是基于golang開發的很符合我的需求,我們來把它們結合作為一個完整的CI、CD平臺。

首先我們要先安裝docker,上次的篇幅我們已經說過了我就不贅述了。

需要的東西有:linux,docker,docker-compose,drone,gogs,git等。

安裝gogs和drone

配合榮鋒亮大哥的yml文件和docker-compose我們可以很容易安裝他們:

version: "3"
services:
  drone-server:
    image: drone/drone:latest
    ports:
      - "8080:80"
      - 8843:443
      - 9000
    volumes:
      - ./drone:/var/lib/drone/
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_OPEN=true
      - DRONE_SERVER_HOST=drone-server
      - DRONE_DEBUG=true
      - DRONE_GIT_ALWAYS_AUTH=false
      - DRONE_GOGS=true
      - DRONE_GOGS_SKIP_VERIFY=false
      - DRONE_GOGS_SERVER=http://gogs:3000
      - DRONE_PROVIDER=gogs
      - DRONE_DATABASE_DATASOURCE=/var/lib/drone/drone.sqlite
      - DRONE_DATABASE_DRIVER=sqlite3
      - DRONE_SERVER_PROTO=http
      - DRONE_RPC_SECRET=ALQU2M0KdptXUdTPKcEw
      - DRONE_SECRET=ALQU2M0KdptXUdTPKcEw
  gogs:
    image: gogs/gogs:latest
    ports:
      - "10022:22"
      - "3000:3000"
    volumes:
      - ./data/gogs:/data
    depends_on:
      - mysql
  mysql:
    image: mysql:5.7.16
    volumes:
      - ./gogs/mysql:/var/lib/mysql
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 3308:3306
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: pass
      MYSQL_DATABASE: gogs
      MYSQL_USER: gogs
      MYSQL_PASSWORD: pass
      TZ: Asia/Shanghai
  drone-agent:
    image: drone/agent:latest
    depends_on:
      - drone-server
    environment:
      - DRONE_RPC_SERVER=http://drone-server
      - DRONE_RPC_SECRET=ALQU2M0KdptXUdTPKcEw
      - DRONE_DEBUG=true
      - DOCKER_HOST=tcp://docker-bind:2375
      - DRONE_SERVER=drone-server:9000
      - DRONE_SECRET=ALQU2M0KdptXUdTPKcEw
      - DRONE_MAX_PROCS=5
  docker-bind:
     image: docker:dind
     privileged: true
    #  command: --storage-driver=overlay

我們創建一個存放docker-compose.yml文件的目錄比如就叫gogs,然后我們把這些yml保存成docker-compose.yml,然后執行docker-compose來安裝:

$ docker-compose up -d

配合yml文件,我們就安裝好了drone-server和drone-agent還有gogs,然后我們用瀏覽器打開http://localhost:3000/來進入gogs并初始化它。

域名和應用URL記得一樣接著我們創建一個管理員用戶,然后其他的都默認,點擊立即安裝完成。

初始化成功之后我們可以在gogs里邊創建一個倉庫,然后登陸drone。

drone

打開瀏覽器輸入http://localhost/直接進入drone,密碼是gogs的你的剛剛的賬戶和密碼。

我們會看到一個剛剛創建的倉庫,激活它!

激活之后,我們回到gogs那邊,倉庫的設置里邊的webhook應該已經配置好了

我們可以測試web hook,如果沒有問題的話,應該會提示成功。

上傳源碼

測試沒有問題之后,我們初始化我們的代碼文件夾為git倉庫,然后push到gogos上邊

然后為你的倉庫加上.drone.yml配置文件,drone-server會自動讀取這個文件進行CI、CD操作等。以下這個是我們的示例文件

kind: pipeline
name: demo

steps:
  - name: build
    image: golang:1.11.4
    commands:
      - pwd
      - go version
      - go build .
      - go test demo/util

  #  - name: frontend
  #    image: node:6
  #    commands:
  #      - npm install
  #      - npm test

  - name: publish
    image: plugins/docker:latest
    settings:
      username:
        from_secret: docker_username
      password:
        from_secret: docker_password
      repo: example/demo
      tags: latest

  - name: deploy
    image: appleboy/drone-ssh
    pull: true
    settings:
      host: example.me
      user: root
      key:
        from_secret: deploy_key
      script:
        - cd /data
        - mkdir app/
        - cd /data/app
        - docker rmi -f example/demo
        - echo "login docker"
        - echo "login success, pulling..."
        - docker pull example/demo:latest
        - echo "image running"
        - docker run -p 8088:8088 -d example/demo
        - echo "run success"

我們首先進行簡單的golang build和test操作然后根據Dockerfile文件把我們的程序構建成docker鏡像,接著上傳到docker hub中,然后通過drone-ssh插件部署這個鏡像。

開始構建

有了配置文件之后,推送代碼我們就可以去drone查看構建進度:

drone的設置

在進入drone的時候,選擇一個項目我們可以進行一些必要的設置,比如配置secrets,定時任務和徽章等等。

比如配置文件需要的密鑰,用戶名和密碼,一些環境變量都可以在secrets設置,構建狀態徽章可以在你的項目README.md文件加上去。

項目加上徽章:

示例代碼,本文完。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27743.html

相關文章

  • 基于droneCI/CD,對接kubernetes,見證靈活與自由,CI/CD對接kubernet

    摘要:所以我們選一個倉庫倉庫比較多,我這里選用,都行,根據需求自行選擇訪問端口,然后就沒有然后了功能沒有那么強大,不過占用資源少,速度快,我們穩定運行了幾年了。 kubernetes集群三步安裝 CI 概述 用一個可描述的配置定義整個工作流 程序員是很懶的動物,所以想各種辦法解決重復勞動的問題,如果你的工作流中還在重復一些事,那么可能就得想想如何優化了 持續集成就是可以幫助我們解決重復的代碼...

    iOS122 評論0 收藏0
  • k8s與CICD--drone簡介部署

    摘要:是的最佳實踐部署編寫文件的部署及其簡單,采用的方式,類似于。具體如下此處需要注意的是在處的。登錄配置項目此處輸入的用戶名和密碼是的。支持和兩個數據庫。新的配置文件如下仔細查看關于的文檔,需要我們手動創建數據庫。其中有和相關的。 前言 整個基于k8s的pass平臺,關鍵的一部分就是CICD。CICD又是devops的關鍵部分。之前主流的工具是Jenkins。今天主要介紹的是drone。...

    fxp 評論0 收藏0
  • k8s與CICD--drone簡介部署

    摘要:是的最佳實踐部署編寫文件的部署及其簡單,采用的方式,類似于。具體如下此處需要注意的是在處的。登錄配置項目此處輸入的用戶名和密碼是的。支持和兩個數據庫。新的配置文件如下仔細查看關于的文檔,需要我們手動創建數據庫。其中有和相關的。 前言 整個基于k8s的pass平臺,關鍵的一部分就是CICD。CICD又是devops的關鍵部分。之前主流的工具是Jenkins。今天主要介紹的是drone。...

    qujian 評論0 收藏0
  • Docker + Drone CI/CD 實踐

    摘要:原文鏈接測試環境生產環境騰訊云容器服務官方網站安裝請使用或升級到最新版本。注意版本的不同。與或集成請參考官方文檔的配置。之后使用以下命令啟動即可安裝詳情請參考使用與類似,項目中包含即可使用。本站介紹的使用方法請查看這里示例 原文鏈接:http://www.khs1994.com/ci/dro... 測試環境:macOS + Drone + Gogs + Docker Registry ...

    HelKyle 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<